仅使用javascript创建iframe

时间:2014-07-10 09:29:36

标签: javascript iframe

我正在制作幻灯片实现。我们必须预取图像以获得更好的用户体验。目前我使用隐藏的img标签来触发图像加载。但是当用户从第一张图像移动到第80张图像时,为第一张图像启动的预取图像请求不会被取消。

使用iframe我们可以在iframe对象上调用stop()来停止加载上一组图像。使用javascript创建iframe的规范似乎是

ifrm = document.createElement("IFRAME");

我不想这样做,因为我不想将我的iframe附加到DOM。有一个HTMLFrameElement。但我不知道如何使用它。

所以我的问题是,如何在不访问文档对象的情况下在javascript中创建iframe。

2 个答案:

答案 0 :(得分:3)

您发布的代码就是解决方案。

如果不使用document,您就无法编写等效代码(为什么要这样做?)。您需要Javascript's interface使用DOMjQuery通过document(或window)提供。

您可以使用{{3}}和其他支持DOM的库来抽象掉DOM API调用,但是它们都会调用document方法。

答案 1 :(得分:2)

是的,您可以iframe创建document而无需附加,但可访问性仅限于iframe元素本身。

  • 未悬挂的元素不是parentElement也不是parentNode
  • 如果您丢失了iframe(在您的示例中为ifrm)的引用,则为 元素永远消失
  • 您无法访问iframe或已加载文档
  • 中的窗口 {li> onload iframe事件未被解雇

您可以更改示例src或未投放iframe的大小。是的,内容是与主页面异步加载的。