多个JavaScript加载

多个JavaScript加载,javascript,onload,Javascript,Onload,我不是JS专家,因此在此方面的任何帮助都将不胜感激。我有下面的脚本需要在页面上运行,第一个是修复程序,以防止在加载下一个iFrame时出现白色闪烁。脚本的最后一部分将根据css媒体屏幕加载iframe(不同视图端口的iframe大小不同)。问题是,两者结合使用时,都使用一个onload函数,并且因为有两个,所以只应用最后一个,从而使第一个onload函数无效 关于如何让这两个都起作用,有什么想法吗 守则: <script type="text/javascript"> // Prev

我不是JS专家,因此在此方面的任何帮助都将不胜感激。我有下面的脚本需要在页面上运行,第一个是修复程序,以防止在加载下一个iFrame时出现白色闪烁。脚本的最后一部分将根据css媒体屏幕加载iframe(不同视图端口的iframe大小不同)。问题是,两者结合使用时,都使用一个onload函数,并且因为有两个,所以只应用最后一个,从而使第一个onload函数无效

关于如何让这两个都起作用,有什么想法吗

守则:

<script type="text/javascript">
// Prevent variables from being global      
(function () {

var div = document.createElement('div'),
    ref = document.getElementsByTagName('base')[0] || 
          document.getElementsByTagName('script')[0];

div.innerHTML = '&shy;<style> iframe { visibility: hidden; } </style>';

ref.parentNode.insertBefore(div, ref);

window.onload = function() {
    div.parentNode.removeChild(div);
}

})();
onload=function(){
var el1=document.getElementById("frameContainer")
el1.innerHTML="<iframe src=\"http://energyamplified.co.za/animation_medium.html\"></iframe>"

var el2=document.getElementById("frameContainer_medium")
el2.innerHTML="<iframe src=\"http://energyamplified.co.za/animation_medium.html\"> </iframe>"

var el3=document.getElementById("frameContainer_small")
el3.innerHTML="<iframe src=\"http://energyamplified.co.za/animation_small.html\">    </iframe>"

var el4=document.getElementById("frameContainer_very_small")
el4.innerHTML="<iframe src=\"http://energyamplified.co.za/animation_very_small.html\">    </iframe>"

}
</script>

//防止变量成为全局变量
(功能(){
var div=document.createElement('div'),
ref=document.getElementsByTagName('base')[0]||
document.getElementsByTagName('script')[0];
div.innerHTML='­;iframe{visibility:hidden;}';
ref.parentNode.insertBefore(div,ref);
window.onload=函数(){
div.parentNode.removeChild(div);
}
})();
onload=函数(){
var el1=document.getElementById(“frameContainer”)
el1.innerHTML=“”
var el2=document.getElementById(“frameContainer\u medium”)
el2.innerHTML=“”
var el3=document.getElementById(“frameContainer\u small”)
el3.innerHTML=“”
var el4=document.getElementById(“框架容器非常小”)
el4.innerHTML=“”
}
谢谢


B

您可以在一个函数中调用所有函数,如下所示:

<script type="text/javascript">
// Prevent variables from being global      
(function () {

    var div = document.createElement('div'),
        ref = document.getElementsByTagName('base')[0] || 
              document.getElementsByTagName('script')[0];

    div.innerHTML = '&shy;<style> iframe { visibility: hidden; } </style>';

    ref.parentNode.insertBefore(div, ref);

    window.onload = function() {
        div.parentNode.removeChild(div);

        var el1=document.getElementById("frameContainer");
        el1.innerHTML="<iframe src=\"http://energyamplified.co.za/animation_medium.html\"></iframe>";

        var el2=document.getElementById("frameContainer_medium");
        el2.innerHTML="<iframe src=\"http://energyamplified.co.za/animation_medium.html\"> </iframe>";

        var el3=document.getElementById("frameContainer_small");
        el3.innerHTML="<iframe src=\"http://energyamplified.co.za/animation_small.html\">    </iframe>";

        var el4=document.getElementById("frameContainer_very_small");
        el4.innerHTML="<iframe src=\"http://energyamplified.co.za/animation_very_small.html\">    </iframe>";
    };
})();
</script>

//防止变量成为全局变量
(功能(){
var div=document.createElement('div'),
ref=document.getElementsByTagName('base')[0]||
document.getElementsByTagName('script')[0];
div.innerHTML='­;iframe{visibility:hidden;}';
ref.parentNode.insertBefore(div,ref);
window.onload=函数(){
div.parentNode.removeChild(div);
var el1=document.getElementById(“frameContainer”);
el1.innerHTML=“”;
var el2=document.getElementById(“frameContainer_medium”);
el2.innerHTML=“”;
var el3=document.getElementById(“frameContainer_small”);
el3.innerHTML=“”;
var el4=document.getElementById(“frameContainer_very_small”);
el4.innerHTML=“”;
};
})();

顺便说一句,您缺少了一些“;”

onload=..
覆盖了先前对
window.onload的赋值。如果使用内联
onload
处理程序,请组合事件处理程序(您可以调用单独的函数)-但更好的是,使用非内联事件和/或支持库,这样做同样多。创建单独的函数,然后在
onload
事件中按您需要的顺序运行它们。您不需要多个事件。您反对添加jquery吗?这将使许多代码更容易合理化,并且可以轻松处理多个事件绑定。谢谢大家。我仍在学习JS,因此您提出的任何建议都将不胜感激(以上是从两个网站提供的,以解决我需要的修复问题),因此任何愿意向我展示的人都将不胜感激。嗨,帕托,谢谢你,非常感谢-我将试用它,并让你知道它是如何运行的。嗨,帕托,再次感谢你。我已经替换了代码,但第一部分(在加载iFrame时修复白色闪烁)不起作用。我不确定发生了什么变化,但我无法确认发生这种情况的原因和/或两个脚本是否都已成功加载。