javascript 页面加载完成后执行

JavaScript028

javascript 页面加载完成后执行,第1张

加上

defer

等于在页面完全在入后再执行,相当于

window.onload

,但应用上比

window.onload

更灵活

<!DOCTYPE

html

PUBLIC

"-//W3C//DTD

XHTML

1.0

Transitional//EN"

"

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html

xmlns="

http://www.w3.org/1999/xhtml">

<head>

<meta

http-equiv="Content-Type"

content="text/html

charset=utf-8"

/>

<title>无标题文档</title>

</head>

<body>

<script

defer="defer">

alert("页面加载完我才执行的")

</script>

先看到这段话

然后再执行上面的

JS

如果去掉上面的

defer="defer"

那么会先执行JS

在看到这段话

</body>

</html>

<script>

<!--

document.onreadystatechange = subSomething//当页面加载状态改变的时候执行这个方法.

function subSomething()

{

if(document.readyState == "complete"&&window.parent.frames["框架名"].document.readyState == "complete") //当页面加载状态为完全结束时进入

myform.submit()//这是你的操作

}

//-->

</script>

--------------

那就再加个IF条件呗:

window.parent.frames["mainFrame"].document.readyState == "complete"

上面代码已修改.

--------------

没有name就加个name呗.而且就算没有name也照样可以那么写啊.没有影响的.

或者你也可以这么写:

window.parent.frames.框架名.document.....

--------------

P了..加的是if条件.你循环顶什么用.照你这么循环.只要第一个frame加载完就直接执行了.哪儿还能循环到下一个frame.

老老实实把想判断的frame加到if里吧.

例如方法:

function test(){return 1}

页面加载完毕事件:

window.onload = function(){

setTimeout(test,1000)//1000毫秒=1秒后执行test方法

}

如果你使用jquery的话可以:

$(window).load(function(){

setTimeout(test,1000)//1000毫秒=1秒后执行test方法

})

setTimeout是只执行一次,重复执行使用setInterval

window.onload = function(){

setInterval(test,1000)//1000毫秒=1秒,每隔1秒执行一次test方法

}