如何使用 jQuery 进入 iframe [重复]
Posted
技术标签:
【中文标题】如何使用 jQuery 进入 iframe [重复]【英文标题】:How to reach into iframe using jQuery [duplicate] 【发布时间】:2013-05-18 08:08:28 【问题描述】:我想知道如何让我的父页面进入 iframe 并将 innerhtml
(使用 jQuery .html()
)设置为我将提供的变量。
这是我目前所拥有的:
var iframe = document.getElementById('framer');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
var content_destination = innerDoc.getElementById('placecontenthere');
$(content_destination).html("<span class='red'>Hello</span>");
有什么想法吗?
【问题讨论】:
尽管我们的问题其实很相似,但仍然没有救命之恩 请问,iframe在同一个域吗? 有人能想出一个js小提琴吗? Benjamin Gruenbaum,是的,是的。我知道你正在考虑的规则 你在哪里运行这段代码?你是在 iframe 准备好后运行它吗?$(document).ready()
还不够,因为它不能保证 iframe 已加载。你可以看看$(window).on("load", func...
【参考方案1】:
要使用 jQuery 访问 iframe 内容,您可以使用 contents() - 函数,如下所述:http://api.jquery.com/contents/
您的代码示例可以替换为 oneliner;
$('#framer').contents().find('#placecontenthere').html('<span class="red">Hello</span>');
【讨论】:
嗨!我已经看到围绕很多像这样的问题的一行代码。在尝试了很多变体之后,它们都不起作用,我仍然很难过。 好的,那么了解您在 iframe 中显示的具体内容可能会很有用。在我看来,您的标记有问题,或者由于某种原因您的浏览器不允许访问这个特定的 iframe(可能是因为同源策略) 在 iframe 中,我有一个相当大的 php 文档,其中包含很多 CSS、PHP 和 javascript。我希望在 iframe 中找到一个 div 并在其中放置动态内容。 另外,我不认为我违反了同源政策。父页面是一个wordpress模板,而iframe src是同一服务器中的一个页面,在目录结构附近,它加载得很好。不过有测试吗?以确保他们注册相同? 听起来没问题。在我看来,还有两个可能的原因: jQuery 选择器引擎找不到 #framer 或 #placecontenthere。您能否验证您的 iframe 中是否存在#placecontenthere?以上是关于如何使用 jQuery 进入 iframe [重复]的主要内容,如果未能解决你的问题,请参考以下文章
$("元素").remove();在 iframe 中使用 jquery [重复]
单击 iframe 中的链接,然后执行 jQuery 操作 [重复]