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

标签 javascript iframe load

我有一组 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/

相关文章:

回调后 jquery 不工作

javascript - addEventListener 抛出错误

javascript - 如何让 TinyMce 用内联样式替换已弃用的标签?

javascript - iframe 中单击文档时发生的事件

javascript - 如何在 iframe 上下文中使用 jQuery 方法

jquery - 使用jquery将xml文件内容加载到div中

javascript - 如何让div包含一定数量的字符?

javascript - 使用您自己的自定义搜索框 <输入类型 ="text">

css - Chrome 和 Soundcloud 嵌入 CSS3 列的问题

c++ - 如何更快地编译和启动 VSC++ 项目?