if(document.readyState=="complete"){
有一個比較完整的版本
- //Some scripts require that you run something immediately after the web page finishes loading.
- var start;
- window.onload = function () {
- if(document.all) {//简单判断是否是IE
- start = setInterval('init()', 200);
- } else {
- var element = document.getElementById("fade");
- element.style.display="none";
- }
- };
- function init() {
- if (document.readyState == "complete") {
- try{
- var element = document.getElementById("fade");
- element.style.display="none";
- clearInterval(start);//执行成功,清除监听
- }catch(err){return true;}
- }
- }
- //注:document.readyState在firefox中不起效果,所以要用window.onload时间出发firefox,如果 window.onload 确定是在页面加载完成后执行,
- 监控页面是否加载完成,就不需要
- //这段代码了.
- if(document.all) {//简单判断是否是IE
- start = setInterval('init()', 200);
- }
(以上來自http://zkh43javaeye.javaeye.com/blog/567665)
另外,如果是想整個頁面加載完再執行,或者網站很多頁都會用到,可以使用一個外部函數
<script>
var ready = function(fun) {
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", fun, false);
} else {
var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.src = "javascript:void(0)";
script.defer = true;
script.onreadystatechange = function(){
if (this.readyState == "loaded" || this.readyState == "complete") {
fun.apply(this, arguments);
head.removeChild(this);
}
}
head.appendChild(script);
}
}
</script>
調用的時候:
ready(function() {
alert("ok!");
});
alert("ok!");
});