2013-10-05 4 views
7

Я пытаюсь понять, как код JSFiddle 'wraps' в 'onLoad' основан на этом описании: [1]: http://doc.jsfiddle.net/basic/introduction.html#javascript. Я видел, как onLoad используется в теге BODY HTML для загрузки функций. Так что JSF (за кулисами) обертывает каждый вызов и каждую функцию, которую я создаю в своем окне JS? AKA:JSFiddle wrap in onload?

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

Если да, то когда я выбираю JQuery в качестве основы, следует избегать использования этого формата:

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

Извиняюсь заранее, если на вопрос якоря.

ответ

10

Они помещают все ваши JS внутри тегов <script> с кодом события onLoad, обернутым вокруг него.

Например, если вы решите включить JQuery и onLoad то это то, что jsfiddle будет использовать:

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

Если вы не включают в себя библиотеку, то они используют:

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

I предположим, что они также используют другие связанные с библиотекой события load в зависимости от того, что вы хотите включить.

Использование $(document).ready(function(){ }); не требуется при запуске кода в скрипке.

Примечание: хорошее объяснение того, что CDATA это посмотреть на этот ответ - https://stackoverflow.com/a/7092306/2287470

4

Это делает новый IFRAME, чтобы запустить свой код в.

Для OnLoad, они просто положить весь код в

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

Вы можете увидеть это, если вы осмотрите <script> тег в <head> нижнего правого iframe. не


Ничего плохого в использовании $(document).ready(..., но это своего рода бесполезно, когда вы включите опцию OnLoad в jsFiddle.

-1

, если вы ищете исходный код форматирования, то вы должны смотреть на сайте, как показано ниже. Что касается использования jsfiddle, у них могут быть свои собственные плагины, которые делают то же самое.

http://jsbeautifier.org/

http://www.javascriptbeautifier.com/

http://www.jspretty.com/

+0

Определенно использовать jsbeautifier, а также использовать http://javascriptcompressor.com/ для удаления пробелов. Но спасибо за другие ссылки. – brooklynsweb