楼上的观点应该可以用,但个人认为不够直观,会受限制于IE
如果不是“某些版本的IE甚至把iframe父窗口转向到报错界面”,可以用一个循环来检测iframe页面的加载,过了30秒如果iframe里面自己需要的元素没有出现的话,就自己再加载一次。但是这个方法也很烦!关注中……
如果不是“某些版本的IE甚至把iframe父窗口转向到报错界面”,可以用一个循环来检测iframe页面的加载,过了30秒如果iframe里面自己需要的元素没有出现的话,就自己再加载一次。但是这个方法也很烦!关注中……
在主页面里面使用定时器刷新,
刷新时先使用一个不可见页面判断网络状况,
如果正常再刷新iframe
function oTestConn(url){
timer=1;
this.url=url;
this.myFunc=myFunc;
this.testConn=function(){
window.setTimeout("timer++",100);
var oImg=document.createElement("img");
oImg.src="http://" + url + "/" + Math.random();
oImg.onerror=this.myFunc;
}
function myFunc(){
alert("时间" + timer/10 + "秒");
}
}
var aa=new oTestConn(window.location.hostname);
aa.myFunc=function(){window.location.reload()};
window.setTimeout("aa.testConn();",10000)
//10秒钟后,如果网络连接正常则刷新页面,可以自己更改时间间隔
</script>
<script>
var test_v1 = '0';
function linkToOnline()
{
document.all.conntest.src='4.gif';
if (test_v1 == 1) {
alert('Error');
}
}var test_v = 0;
function test()
{
if (test_v == 1) {
test_v1 = '1';
}
test_v = 1;
}
</script>
<img id=conntest src='' onError=test()>
<script>
linkToOnline();
</script>
var tempStr = "[被动态更新的内容...]";
parent.frames["iframe1"].body.innerHTML = tempStr;这样如果页面读出来了就更新iframe1的内容,如果连接失败,更新语句不执行,iframe1的东西根本就不会动不用费尽心思的去检测网络了