gpt4 book ai didi

javascript - 如何在另一个已加载的 iframe 之后加载 iframe

转载 作者:行者123 更新时间:2023-11-30 18:36:46 25 4
gpt4 key购买 nike

我有一组 URL,我想为我拥有的每个 URL 创建一个 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
);
}

我该怎么做?

最佳答案

这取决于。

  1. 您是否可以控制 IFRAME 中显示的页面?
  2. 他们是在与托管页面相同的域上?

有四种情况:

  • 如果他们在同一域,您可以通过JavaScript。

  • 如果他们在同一个域,并且您可以修改加载的页面,你可以在 onload 事件发生时告诉父框架从 IFRAME 中加载的页面触发。

  • 如果它们不在同一个域中,您可以修改加载的页面,安全限制将阻止直接通信。但是你可以从加载的页面 ping 服务器上的中央存储库onload 事件触发

  • 如果它们不在同一个域中,并且您不能修改加载页面...好吧,你有麻烦了... :) 你将无法检查页面何时完成加载....好吧..你可以创建一些丑陋的计时器以设定的时间间隔加载页面......但不要告诉任何人我告诉过你...;)

关于javascript - 如何在另一个已加载的 iframe 之后加载 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8015592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com