我正在使用Adobe Edge构建一个网站,我有几个iframe在我的index.html页面上加载其他html页面。所有文件都在同一个域中。
不知道为什么,但是某些iframe内容无法在firefox中正确加载。但是当我刷新iframe时它加载完美,所以我需要iframes在加载时自动重新加载(只有一次)。
我在这个页面上看到了一个可能的解决方案: How to force an iFrame to reload once it loads
我只是不确定在adobe边缘放置解决方案脚本。
这就是“creationComplete”中每个iframe现在查找的方式:
sym.$("AboutPage").append('<iframe width="100%" height="100%" src="About.html" frameborder="0" scrolling="no"></iframe>');
答案 0 :(得分:0)
sym.$("AboutPage").append('<iframe onload="reloadOnce(this)" width="100%" height="100%" src="About.html" frameborder="0" scrolling="no"></iframe>');
sym.$("otherPage").append('<iframe onload="reloadOnce(this)" width="100%" height="100%" frameborder="0" scrolling="no" src="otherPage.html"></iframe>');
var iframeLoadCount = 0;
function reloadOnce(iframe) {
iframeLoadCount ++;
if (iframeLoadCount <= 1) {
iframe.contentWindow.location.reload();
console.log("reload()");
}
}
我认为这就是代码被假设用“creationComplete”编写的方式我不是100%肯定,因为我在计算机上加载FireFox中的iFrame没有问题。如果这对您不起作用,请告诉我。