页面

2009年3月7日

判断iframe加载完成

判断iframe加载完成

网上找了很多代码,总的来说,核心是readyState的状态变化的捕获
iframe如下:
< frameborder="0" name="readTxt" id="readTxt" width="100%" height="250">< /iframe>
javascript:
function setVisiblity()
{
 if(document.readTxt.document.readyState=="complete")
 {
  var k = document.readTxt.document.getElementById("tiaoshu").value;//得到iframe里面的一个参数
  datedis.innerText = "共读取记录:"+k+"条";//datedis为一个div的id
 } 
 else
  setTimeout("setVisiblity()",1000);
这个功能是当读取iframe里面的一个文件完成是,父页面捕获,得到iframe页面读取数据条数。
其中setTimeout()为实现在一个固定时间段之后去执行JavaScript,有两个参数,第一个为js,第二个为毫秒数,见上面代码,与setTimeout()类似的函数有setInterval(),参数与setTimeout()相同,二者的区别为:setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码。
        个人感觉setTimeout比较好,将自己加入嵌套就很好的实现了功能,setInterval就无休止的执行了,在网上找了二者的用法,如下:
setTimeout(showTime, 500);

function showTime()

{

    var today = new Date();

    alert("The time is: " + today.toString());

}
 
function showTime()
{
    var today = new Date();
    alert("The time is: " + today.toString());
    setTimeout("showTime()", 5000);
}
另外,匿名函数还可以声明为内联函数:
setTimeout(function(){var today = new Date();
     alert("The time is: " + today.toString());}, 500);
 
参考:http://book.csdn.net/bookfiles/344/10034413534.shtml

没有评论: