2013-10-05 25 views
7

Ich versuche zu verstehen, wie JSFiddle Code in 'onLoad' basierend auf dieser Beschreibung 'Wraps': [1]: http://doc.jsfiddle.net/basic/introduction.html#javascript. Ich habe gesehen, dass onLoad im HTML-BODY-Tag verwendet wird, um Funktionen zu laden. Also wickelt JSF (hinter den Kulissen) jeden Aufruf und jede Funktion, die ich in seinem JS-Fenster erstelle, ein? Alias:JSFiddle Wrap in onLoad?

onLoad = "myfunc1(),myfunc2,alert(1);" 

Wenn ja, dann, wenn ich jQuery als Rahmen auswählen, sollte ich vermeiden, verwenden Sie dieses Format:

$(document).ready(function(){ 
    myfunc1{(...)} 
    myfunc1{(...)} 
    ... 

im Voraus, wenn eine Anker Frage Apologize.

Antwort

10

Sie setzen alle Ihre JS innerhalb <script> Tags mit dem onLoad Event-Code um es gewickelt.

Zum Beispiel, wenn Sie jQuery und onLoad schließen, dann ist es das, was jsfiddle verwenden:

<script type="text/javascript"> 
    //<![CDATA[ 
     $(window).load(function(){ /* your js here */ }); 
    //]]> 
</script> 

Wenn Sie enthalten keine Bibliothek dann verwenden sie:

<script type="text/javascript"> 
    //<![CDATA[ 
     window.onload=function(){ /* your js here */ } 
    //]]> 
</script> 

I Angenommen, sie verwenden auch andere Bibliothek spezifische load Ereignisse, je nachdem, was Sie einschließen möchten.

Die Verwendung von $(document).ready(function(){ }); ist nicht erforderlich, wenn Sie Ihren Code in einer Geige ausführen.

Hinweis: für eine gute Erklärung, was CDATA ist einen Blick auf diese Antwort nehmen - https://stackoverflow.com/a/7092306/2287470

4

Es macht einen neuen iframe in Ihrem Code auszuführen.

Für die onload, sie setzen alle Code nur in

window.onload = function() { 
    // your code here 
}; 

du sehen können, wenn Sie die <script>-Tag in der <head> inspizieren des unteren rechten Iframes.


Nichts falsch mit $(document).ready(... verwenden, aber es ist irgendwie nutzlos, wenn Sie die Option onLoad in jsFiddle aktivieren.