JSFiddle wrap in onLoad?

JSFiddle wrap in onLoad?

本文关键字:onLoad in wrap JSFiddle      更新时间:2023-09-26

我试图根据以下描述理解JSFiddle如何在"onLoad"中"包装"代码:[1]:http://doc.jsfiddle.net/basic/introduction.html#javascript。我已经看到在HTML的BODY标签中使用onLoad来加载函数。那么 JSF(幕后)是否将我创建的每个调用和每个函数包装在其 JS 窗口中?即:

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

如果是这样,那么当我选择 jQuery 作为框架时,我是否应该避免使用以下格式:

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

如果是电枢问题,请提前道歉。

他们把你所有的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>

我认为他们也使用其他特定于库的load事件,具体取决于您选择包含的内容。

在小提琴中运行代码时不需要使用 $(document).ready(function(){ });

注意:要很好地解释CDATA是什么,请查看此答案 - https://stackoverflow.com/a/7092306/2287470

它会创建一个新的 iframe 来运行你的代码。

对于加载,他们只是将所有代码放入

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

如果您检查右下角 iframe <head>中的 <script> 标记,则可以看到这一点。


使用$(document).ready(...没有错,但是当您在jsFiddle中启用onLoad选项时,它有点没用。

如果您正在寻找源代码格式,那么您应该查找如下所示的网站。至于jsfiddle使用什么,他们可能有自己的插件,做同样的事情。

http://jsbeautifier.org/

http://www.javascriptbeautifier.com/

http://www.jspretty.com/