我有一个网址数组,我想为我拥有的每个网址创建一个iframe。
但是我想要的是仅在完全加载前一个iframe时创建并加载下一个iframe。
这是创建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
事件时告诉父框架
从IFRAME
中加载的页面触发。
如果它们不在同一域中,则可以修改已加载的
页面上,安全限制将阻止直接通信。但是你
可以从加载的页面ping服务器上的中央存储库onload
事件触发
如果它们不在同一域中,并且您不能修改
加载的页面...好吧,您遇到了麻烦... :)您将无法
检查页面何时完成加载..嗯..您可以创建一些难看的东西
计时器按设定的时间间隔加载页面...但是不要告诉任何人我
告诉过你了... ;)
关于javascript - 如何在另一个已加载的iframe之后加载一个iframe,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8015592/