javascript 页面加载完成后执行

JavaScript017

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>

比较简单的页面,可以采用‍

//放置在<header></header>之间

window.onload = function(){

   //在这里写js

}

//或其他javascript框架所定义的函数(也是应用onload),比如jquery:

$(function(){

})

//或将js放在页面底部,</body>之上。

对于比较复杂的页面,比如,某些数据(包括文字,图片,远程加载第三方的内容,以及来自后台通过异步调用耗时的数据等)加载,那么,就需要自定义一个loading函数,在loading函数中,判断所有内容均加载完成后,同时在未加载完成前,需要显示给用户一个加载中的界面,当完成加载后,隐藏或删除这个界面,最后‍来调用你希望的js函数。以防止不可预期性。

<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里吧.