仅在源存在时自动重新加载Iframe

时间:2017-12-29 22:52:49

标签: javascript jquery html ajax iframe

我所拥有的是一个自动生成的网页(我无法控制其来源),如果用户离开页面,我希望它能够刷新。为此,我试图将页面嵌入第二页,其中包含整页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文件的位置。我已经尝试过多次修改,但它总是警告“找不到页面”。

0 个答案:

没有答案