2013-04-01 74 views
3

我正在使用網頁的加載屏幕,並使用window.onload函數。window.onload功能在Mozilla Firefox上不起作用

除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(); 
    }); 
} 

爲什麼會發生這種情況?

請幫忙。

在此先感謝。

+1

爲什麼不試試['$(文件)。就緒()'](HTTP:// API。 jquery.com/ready/)而不是? –

+1

嘿@Scott,$(document).ready()在dom被加載時觸發,但是當我加載包含圖片等所有內容時,我想要觸發這個函數。 –

+1

@Onur - 好的,然後['$(window ).load'](http://api.jquery.com/load-event/)是你想要的。我會創建一個[jsFiddle](http://jsFiddle.net)來測試你想要的。如果它在那裏工作,那麼問題很可能出現在您的標記或其他腳本中。 –

回答

3

問題是由放置在$(文件)是另一個jQuery插件背景造成的。就緒()

我把它裏面$(窗口)。 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 
}); 
0

必須調用像初始化函數:

window.onload = init(); 
換句話說

修改代碼以:

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

複製下面的文件代碼,然後用Firefox

<script> 
window.onload = function() { 
alert('saeed') 
}(); 
</script> 
+0

不幸的是它沒有工作 –

+0

我測試它。有用。 –

1
打開

試試這個:

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

讀爲loadreadyfunctions differenceWhat is the difference between $(window).load and $(document).ready?

+1

如果你的'page'有多於1個'window.load''函數',那麼只有1個會起作用。 –

+0

我只有1個窗口。加載函數和$(document).ready()在dom被加載時被激發,但是我希望函數在所有內容包括圖像等被加載時被觸發 –

1

當腳本標記輸入了錯誤的類型屬性,我得到了同樣的問題:

<script type="text/javascript"> 
相關問題