使用jQuery在iframe中获取HTML

前端之家收集整理的这篇文章主要介绍了使用jQuery在iframe中获取HTML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这里是我的情况。

我有一个名为iframe.html的文件,其中包含图像幻灯片代码
代码有点像

<html>
  <head>
    <!-- Have added title and js files (jquery,slideshow.js) etc. -->
  </head>

  <body>
    <!-- Contains the images which are rendered as slidehow. -->
    <!-- have hierarchy like 'div' inside 'div' etc. -->
  </body>
</html>

用户可以使用嵌入代码幻灯片添加到他们的博客或网站(可以来自不同的域)。假设用户必须在index.html中嵌入幻灯片,他们可以添加以下行:

<iframe id="iframe" src="path_to_iframe.html" width="480" height="320" scrolling="no" frameborder="0"></iframe>

这将使完整的HTML代码从iframe.html到index.html,现在我需要一种方法来访问iframe中的元素来调整它们的一些属性

代码中一样,iframe的宽度和高度由用户设置为某些修复尺寸。我想调整幻灯片(和包含的图像)的大小到iframe容器的大小。什么是最好的方法做到这一点?

我尝试没有成功从像index.html通过index.html访问iframe组件

$('#iframe').contents();

但得到错误

TypeError: Cannot call method ‘contents’ of null

所以,我想在iframe.html中实现逻辑,其中幻灯片应检查父的宽度和高度,并相应地设置其高度。

我很困惑,希望我的问题有意义大多数。请随时提出进一步解释。您的帮助是赞赏。

解决方法

此行将检索框架的整个HTML代码。通过使用其他方法而不是innerHTML,可以遍历内部文档的DOM。
document.getElementById('iframe').contentWindow.document.body.innerHTML

要记住的是,这将工作,只有当帧源在同一个域。如果是来自不同的域,跨站点脚本(XSS)保护将启动。

猜你在找的jQuery相关文章