多个JavaScript Onloads

时间:2014-02-18 03:40:20

标签: javascript onload

我不是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>

谢谢,

1 个答案:

答案 0 :(得分:0)

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

<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>

顺便说一下,你错过了一些“;”。