Javascript 清空IFrame上内容的最佳方式是什么

Javascript 清空IFrame上内容的最佳方式是什么,javascript,html,dom,iframe,Javascript,Html,Dom,Iframe,我想知道清空IFrame内容的最佳方法是什么。iframe包含来自另一个域的HTML文档。HTML文档可能包含带有语音的视频。有时我需要在新窗口中打开该文档。对于视频,首先关闭视频播放非常重要,这样用户就不会因为播放多个音频而感到不安。既然文档来自另一个域,我无法执行swfobject.stopVideo(),因此我执行iframe.contentWindow.location='about:blank'。这是个好方法吗 理想情况下,我想做一个iframe.contentDocument.wri

我想知道清空IFrame内容的最佳方法是什么。iframe包含来自另一个域的HTML文档。HTML文档可能包含带有语音的视频。有时我需要在新窗口中打开该文档。对于视频,首先关闭视频播放非常重要,这样用户就不会因为播放多个音频而感到不安。既然文档来自另一个域,我无法执行
swfobject.stopVideo()
,因此我执行
iframe.contentWindow.location='about:blank'
。这是个好方法吗


理想情况下,我想做一个
iframe.contentDocument.write(关闭弹出窗口以恢复播放。

。如何检测该窗口是否关闭是另一个问题,对此我还没有答案(我会给你加分,但这是不可能的)。

如果你想在弹出窗口中发送消息,你可以在iframe之外放置一条消息作为单独的兄弟元素,在视频下方显示标题

由于您可以控制窗口的内容(例如,弹出窗口可能会加载您的网站/popuplayer.html,其中包含一个iframe),因此您可能会添加一个window.onunload触发器,该触发器会传回主页

或者,您可以执行(不那么优雅但编码更快速)var myWin=open(“…”);然后定期检查myWin.closed属性


请注意,某些浏览器具有弹出窗口拦截器,可能会与您正在执行的操作进行奇怪的交互。

听起来您只需要在服务器上用一个页面替换iframe src,该页面包含“万一您想知道发生了什么事,视频现在正在弹出窗口中播放”文本。关于:空白要清除框架,我建议如下:

iframe.src = 'now_playing_in_popup.html';

这将完成清除它和显示您的消息。至于监控另一个窗口的关闭,我想ninjagecko已经回答了这个问题。

我真的想(I)清除/清空iframe窗口(ii)如果有可能,我想在空的iframe中显示一个通知,就像你想知道发生了什么一样,视频现在正在弹出窗口中播放啊,谢谢你的澄清。在这种情况下,我建议只在设置为about:blank的iframe上覆盖一个元素。首先将iframe放在一个div中,将该div设置为position:relative,然后在该div中,向iframe添加一个position:absolute的兄弟div,并将其放置在iframe的顶部。这是否也会隐藏音频(咯咯笑)?