我所拥有的是一个自动生成的网页(我无法控制其来源),如果用户离开页面,我希望它能够刷新。为此,我试图将页面嵌入第二页,其中包含整页Iframe,其内容每10秒刷新一次。
我当前的代码通常有效,但偶尔会在Iframe尝试重新加载的页面上重写自动生成的网页。发生这种情况时,Iframe页面崩溃,用户需要知道手动刷新页面。为了解决这个问题,我想检查生成的页面是否存在,只有重新加载Iframe(如果它存在)(任何更容易的替代想法也会受到赞赏)。这都是在本地Intranet上完成的(没有同域问题或类似问题)。
现有代码:
<html>
<head>
<script type="text/javascript" src="AutomaticReports\Dashboard\jquery-3.2.1.js"></script>
<script>
function resizeIframe(obj) {
obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
obj.style.width = obj.contentWindow.document.body.scrollWidth + 'px';
}
</script>
</head>
<body>
<iframe id="iframe" src="AutomaticReports\Dashboard\DBtrial.mhtml" frameborder="0" scrolling="no" onload="resizeIframe(this)"></iframe>
<script type="text/javascript">
function reloadIFrame() {
$('#iframe').attr('src', $('#iframe').attr('src'));
return false;
};
window.setInterval(function() {
reloadIFrame()
}, 10000);
</script>
<script>
$.ajax({
type: 'HEAD',
url: 'AutomaticReports/Dashboard/DBtrial.mhtml',
success: function() {
alert('Page found.');
},
error: function() {
alert('Page not found.');
}
});
</script>
自动生成的文件是DBtrial.html。
底部脚本块是我测试ajax请求以查看是否存在本地html文件的位置。我已经尝试过多次修改,但它总是警告“找不到页面”。