如何使用jquery操作iframe对象
How to manipulate iframe objects using jquery
我已经经历了很多与这个问题相关的主题,但无法获得所需的输出。
我在里面调用一个 iframe 和 html,如下所示:
<iframe class="full-screen-preview__frame" id="nitseditpreview" src="himu/index.php" name="preview-frame" frameborder="0" noresize="noresize" data-view="fullScreenPreview">
假设在这个 iframe 中,我有一个带有如下类名的 h2 标签:
<body>
<section id="about-us">
<div class="container">
<div class="text-center">
<div class="col-sm-8">
<h2 class="maincontent">
Why with Us
</h2>
</div>
</div>
</div>
</section>
</body>
如浏览器中的检查元素所示
通过使用Jquery,我想操纵它,例如我想在其中放置边框。我已经尝试了很多东西,但我想如果有人修复错误,这个东西会起作用,我的 jquery 看起来像这样:
$(document).load(function () {
$('#nitseditpreview').load(function () { //The function below executes once the iframe has finished loading
$this = $(this);
$('#nitsmenu', this.contents()).css('border', 'solid 1px #777');
});
});
不知道我哪里做错了,即使我也遵循同源政策。
如果框架文档和框架文档位于同一域中,则不需要沙盒属性或 CORS 箍跳。但是这里还有许多其他错误:
-
$(document).load(...)
应该是$(document).ready(...)
的(因为它在脚本运行时已经加载) - 您定义了
$this = $(this)
,但在下一行中尝试使用裸this
- 您正在尝试匹配框架文档中似乎不存在的
#nitsmenu
以下内容似乎有效,尽管我担心该 iframe 的.load()
上可能仍然存在竞争条件:
$(document).ready(function() {
$('#nitseditpreview').load(function() {
$(this).contents().find('.container').css('border', 'solid 1px #777');
});
});
http://plnkr.co/edit/tCEHdU0ckg5q4w4tPVFU
相关文章:
- 动态(重新)创建iframe内容不会重置Chrome中的JS对象
- 将 JSON 对象发布到 iFrame
- 如何使用jquery操作iframe对象
- 重用iframe中的jQuery对象
- 如何从主框架获取对在iframe上创建的对象的引用
- 将 Javascript 对象传递给 HTML iframe(作为对象)
- 在嵌入式站点上使用javascript?(iframe,对象)
- IE9 在 iframe 中打印 PDF 时出现“无效调用对象”
- 从 iframe 访问父级中的 JavaScript 对象
- 访问父 DOM 中的 iframe 窗口对象
- 如何将 Jquery 对象从父 iframe 注入到嵌入式 iframe
- 创建 YT.通过传递 DOM 对象,在 HTML 中来自 iframe 的播放器对象
- 正在检测iframe对象中的src/location更改
- 当从包含IFrame的HTA中引用IFrame对象时返回null
- 如何嵌入translate.google.com没有iframe/对象(x - frame选项是SAMEORIGIN)
- 如何覆盖图像和链接路径在iframe对象
- 如何获得iframe对象的原点
- 如何访问全局iframe对象
- 访问iframe对象.在IE8中的原型
- 设置iframe对象的z轴顺序