从它的子IFRAME(跨域)中删除DIV
Remove a DIV from within it's child IFRAME (cross-domain)
我正在制作一个从服务器加载Javascript的bookmarklet。JS添加了一个div与嵌入iframe(所以我可以传递/加载内容从我自己的域)。
我不知道如何从iframe中删除DIV元素,包括iframe。我不能引用window.parent
,因为它是跨域的。window.postMessage
看起来可能是正确的想法,但我还没有找到足够的文档来帮助我理解它。
我非常想有iframe的关闭按钮在iframe。感谢您的协助。
编辑:在我尝试使用窗口。postMessage,我已经尝试用bookmarklet(因此,在任何域上)创建一个事件侦听器:
var receiveMessage = function(event) {
$("#iframecontainerdiv").remove();
console.log (event);
alert (event.origin);
}
window.addEventListener("message", receiveMessage, false);
然后在iframe内,我尝试触发它:
$("#abort").click( function(e) {
e.preventDefault();
window.close();
window.postMessage("Hello, World!", "*");
});
我想你把消息发错窗口了。也许你应该使用window.top.postMessage
来发布一条消息,指示顶部窗口删除iframe
。
:
var receiveMessage = function(event) {
if ("close-iframe" == event.data) {
$("#iframecontainerdiv").remove();
}
console.log (event);
alert (event.origin);
}
window.addEventListener("message", receiveMessage, false);
:
$("#abort").click(function(e) {
e.preventDefault();
window.top.postMessage("close-iframe", "*");
});
您可以选择测试消息的来源,以便只有来自您的域的消息导致iframe
被删除。
相关文章:
- 只从DIV删除图像,而不是整个网站
- jQuery在5秒钟后隐藏/删除DIV内容
- 从移动视图中删除 Div
- 使用JQuery在DIV中动态添加和删除广告代码
- 用jQuery删除的Div仍然存在
- 如何使用 JQuery 切换 DIV 后删除追加的元素
- 如何使用 id 删除 JavaScript 中的 Div 元素
- 从单个 Div 元素中删除单击事件
- 溢出:删除元素时,带有子 TABLE 滚动条的 DIV 上的自动滚动条会保留
- 添加/删除 CSS 类属性以尊重不基于 Div id 的类
- 防止在TinyMCE中删除DIV元素
- 切换删除Div's基于浏览器大小
- 如果没有使用Greasemonkey的id,我将如何删除DIV
- 删除Div的Javascript函数
- 从它的子IFRAME(跨域)中删除DIV
- 如何使用javascript动态添加和删除Div标签
- 点击链接删除Div
- 编辑和删除Div点击和应用更改的代码
- 删除Div标签时,屏幕是在一定的大小使用jQuery或javascript
- 当单击DIV中的IFRAME时删除DIV元素