gpt4 book ai didi

jquery - 使用 jQuery 在 iframe 中获取 HTML

转载 作者:行者123 更新时间:2023-12-03 21:27:42 25 4
gpt4 key购买 nike

这是我的情况。

我有一个名为 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 访问 iframe 组件,但没有成功

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

但出现错误:

TypeError: Cannot call method 'contents' of null

因此,我认为在 iframe.html 中实现逻辑,其中幻灯片应检查父级的宽度和高度并相应地设置其高度。

我很困惑,希望我的问题对大多数人来说都是有意义的。请随时询问进一步的解释。感谢您的帮助。

最佳答案

该行将检索框架的整个 HTML 代码。通过使用其他方法而不是 innerHTML,您可以遍历内部文档的 DOM。

document.getElementById('iframe').contentWindow.document.body.innerHTML

要记住的是,只有当帧源位于同一域时,这才有效。如果它来自不同的域,跨站点脚本 (XSS) 保护将会启动。

关于jquery - 使用 jQuery 在 iframe 中获取 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16103407/

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