我有一个显示网络状态的页面。 1分钟左右后,它自我清爽。但是当它无法加载页面时,它只是显示空白页面,即使它可以加载页面也会停留在那里。
要解决此问题,我已将此网络状态页面(status.php)放在iframe中,并且父网页(index.html)应在1-2分钟后继续在iframe中重新加载网络状态页面。
我写了这段代码:
<!DOCTTYPE html>
<head>
<script>
console.log("Running window.log");
window.setInterval(function(){
reloadIFrame();
}, 10000);
function reloadIFrame() {
console.log("reloaded the frame");
window.frames[0].location.reload();
}
</script>
</head>
<body>
<iframe frameborder=0 name="frame11" width="100%" height="100%" src="status.php">
</iframe>
现在,当我禁用网络连接时,Chrome页面(index.html)显示为空白:“Internet连接已丢失。”在控制台中显示消息:
Uncaught SecurityError:阻止具有原点的帧 “http://upordown.example.com”访问具有原点的框架 “空值”。请求访问的帧具有协议“http”,即 被访问的帧具有“数据”协议。协议必须匹配。
如何解决这个问题?该父页面应该继续加载子帧,并且无论是否存在网络连接,至少父帧都应该起作用。
答案 0 :(得分:0)
此代码已成功:
window.setInterval(function(){
reloadIFrame();
}, 90000);
function reloadIFrame() {
var url = "status.php"+"?rand="+new Date().getTime();
$.get( url, function( data ) {
$( "#frame1" ).html( data );
$("#frame1").contents().find('html').html(data);
});
}