我在iFrame中打开了一个页面。我想在x秒后刷新页面(x可以是大于5的任何数字)。我该怎么做?
这是我的代码;
<iframe sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts" class="iframe" ng-show="$ctrl.getFrameURL() !== 'Default URL'" ng-src="{{$ctrl.getFrameURL()}}" width="100%" height="100%" scrolling="yes" frameBorder="0" id="remotePageFrame"></iframe>
我已经检查了StackOverflow上的一些问题,这些问题是通过更新范围重新加载页面的。我不想更新范围,因为我的范围变量中的URL值保持不变。 JavaScript或AngularJs中是否有任何内容可以帮助刷新iframe中的页面。
更新1
@sarvon ks建议的解决方案适用于项目页面中托管的我自己的页面,但是当我尝试刷新任何外部/第三方页面时会抱怨。在我的页面中,我在iFrame上有一个循环,可打开多个页面。它们大多数是外部页面。对于外部页面,我收到了Uncaught SecurityError异常。
-- Uncaught SecurityError: Blocked a frame with origin "http://localhost:63342" from accessing a cross-origin frame.
此错误已经在existing question中进行了很好的讨论。还有其他解决方法来刷新在iFrame中打开的页面吗?
答案 0 :(得分:0)
检查此代码,它将起作用
var duration = 100;
function reloadIframe() {
var iframeDome = document.getElementsByTagName("iframe");
iframeDome[0].contentWindow.location.reload();
}
setInterval(reloadIframe,duration);
<iframe src="https://www.google.com"></iframe>