如何在另一个已加载的iframe之后加载一个iframe
How to load an iframe after another iframe that has loaded
我有一个URL数组,我想为每个URL创建一个iframe。但我想要的是,只有在前一个iframe完全加载时,才能创建并加载下一个ifame。
这是创建iframe:的函数
function loadSubsequencePages(links){
var id = document.getElementsByTagName("iframe").length;
for(var i=0; i<links.length;i++){
var frame = document.createElement("iframe");
frame.setAttribute("id","frame"+id);
frame.setAttribute("src","about:blank");
document.getElementById('frames').appendChild(frame);
changeLoc(document.getElementById("frame"+id),links[i].href);
}
}
只有当我创建的实际iframe被加载时,我才想移动到下一个I。
这是更改URL:的函数
function changeLoc(frm,loc) {
frm.webNavigation.loadURI(loc,
frm.webNavigation.LOAD_FLAGS_NONE,
null, null, null
);
}
我该怎么做?
这取决于情况。
- 您可以控制
IFRAME
中显示的页面吗 - 他们是与托管页面在同一个域上
有四种情况:
-
如果它们在同一域上,您可以通过JavaScript。
-
如果它们在同一域上,并且您可以修改加载的页面,可以在
onload
事件发生时通知父帧从CCD_ 3中加载的页面激发。 -
如果它们不在同一个域上,并且您可以修改加载的页面,安全限制将阻止直接通信。但是你当
onload
事件触发 -
如果它们不在同一个域上,并且您不能修改已加载页面。。。你有麻烦了…:(你将无法检查页面何时完成加载。。。。好你可以制造一些丑陋的东西计时器以设定的间隔加载页面。。。但不要告诉任何人我告诉过你…;(
如果iframe指向另一个域的URL,您所能做的就是在您的iframe上放置一个onload事件-它会告诉您iframe何时开始加载,但由于同源策略,您永远无法知道加载何时完成。在这种情况下,里面的页面与宿主页面是隔离的。
如果iframe指向相同的域,则可以在页面中插入某种document.ready代码,然后该代码可以调用父页面中的JavaScript函数,宣布其已完成加载。
相关文章:
- 使用php脚本验证访问者的年龄,并在不刷新的情况下根据结果加载iframe
- 使用Javascript(或jQuery)加载iframe内容
- Internet Explorer重新加载IFrame
- Fine Uploader-未收到来自已加载iframe的有效消息
- 使用本地生成的代码通过 JavaScript 加载 IFrame
- 加载iframe时激发的事件
- 动态渲染 .mht 文件,无需加载/iframe/嵌入
- 如何在选择列表项时重新加载iframe
- 如何使用JavaScript在iframe中重新加载iframe
- 在featherlight.js中延迟加载iFrame
- 实时在更改时重新加载iframe脚本
- 如何在不闪烁的情况下加载Iframe
- 如何按时间间隔重新加载Iframe内容,使其不会闪烁
- 设置 URL 以在 Django 模板中加载 iframe
- 在离开页面之前加载 iframe
- 加载 Iframe src,并从水平下拉菜单中进行选择
- 同时加载 iframe 并重置文档位置
- 单击按钮时重新加载 iframe 内容(本地 HTML)
- 单击元素时重新加载 iframe src
- 在可见时加载 iframe