window.onload函数不适用于Mozilla Firefox

时间:2013-04-01 15:36:19

标签: javascript jquery firefox onload mozilla

我正在使用网页加载屏幕,我使用window.onload功能。

除了在Mozilla Firefox浏览器中,一切都很有效。当我们首次使用ctrl + F5组合访问或刷新页面时,加载屏幕永远不会消失。如果我们只使用F5刷新页面,那么它可以工作。

我使用下面的代码

$(window).load(function(e) {
    $("#body-mask").fadeOut(1000,function(){
        $(this).remove();
    });
});

我也试过下面的代码但没有改变。

window.onload = function () {
   $("#body-mask").fadeOut(1000,function(){
       $(this).remove();
   });
}

为什么会这样?

请帮忙。

提前致谢。

4 个答案:

答案 0 :(得分:5)

问题是由另一个jquery后台插件引起的,该插件放在$(document).ready()

我将它移到了$(window).load()函数中,现在它完美无缺。

我还移动了另一个函数来调整页面加载时的图像大小。当它在$(document).ready()块内时,如果加载时间太长但有时会出现故障,但现在它也很有效。

function resizeImages(){
    //Some Code
}

$(window).load(function(){
    $("#body-mask").fadeOut(1000,function(){
        $(this).remove();
    });

    $.vegas({
        src: backURL , fade:0
    });

    resizeImages();
});

$(document).ready(function(){
    //Some Other code
});

答案 1 :(得分:1)

试试这个:

$(document).ready(function(e) {
    $("#body-mask").fadeOut(1000,function(){
        $(this).remove();
    });
});

宣读loadready functions difference What is the difference between $(window).load and $(document).ready?

答案 2 :(得分:1)

我在脚本标记中输入错误类型属性时遇到了同样的问题:

<script type="text/javascript">

答案 3 :(得分:0)

你必须在初始化时调用函数,如:

window.onload = init();

换句话说,将您的代码修改为:

window.onload = function () {
$("#body-mask").fadeOut(1000,function(){
    $(this).remove();
});
}();// Added

将以下代码复制到文件中,然后使用firefox

打开它
<script>
window.onload = function () {
alert('saeed')
}();
</script>