【发布时间】:2019-04-03 14:30:55
【问题描述】:
我有一个包含 iframe 的简单块,我希望用户能够使用按钮关闭 iframe。
这是我目前所拥有的
JS
更新
document.querySelector(DOM.videoclosebtn).addEventListener('click', closeIframeContainer);
var closeIframeContainer =function(){
window.parent.postMessage("event=closeiframe", "*");
};
window.addEventListener("message", receiveMessageFromIframe, false);
function receiveMessageFromIframe(msg) {
if (event == "closeiframe") {
document.getElementById('iframe-container').remove();
}else{
alert('hehehe');
}
}
这里是带有 iframe 的 index.html
<div id="iframe-container">
<iframe src="/videoexplainer/data.html" style="border:none"></iframe>
</div>
这里是data.html
<div id="video-close_btn" class="video-btn">
<img src="images/x.png" />
</div>
错误:
Uncaught TypeError: Cannot read property 'window' of null
at HTMLDivElement.closeIframeContainer (videoexplainer.js:123)
不幸的是它不起作用,我需要做什么才能得到我想要的?
【问题讨论】:
-
当询问有关某些不起作用的问题时,准确解释“不起作用”的含义会很有帮助:控制台中的错误?什么都没发生?发生错误的事情?人们不能总是只看你发布的代码就能立即理解问题所在。
标签: javascript jquery html iframe postmessage