我在iframe中有一个按钮,我希望它会在点击时触发另一个按钮,该按钮位于iframe之外。
这是我一直试图解决的一段代码。
HTML
<body>
<iframe id="layer-frame" src="https://somepage.com">
<a href="https://page2.com" target="_blank" id="js-gopage2" class="js-iframepostmsg" alt="CLICK HERE TO Edit your profile">Edit your profile</a>
</iframe>
<div>
<a class="close" href="#">Close<span></span></a>
</div>
</body>
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event)
{
if(event.data == "click!") {
$('a.close').trigger('click');
}
}
iframe中的
var targetOrigin = window.location.host;
top.window.postMessage("click!", targetOrigin);
答案 0 :(得分:0)
targetOrigin = window.location.host
将为您提供从发布的网页的主机名,但是:
targetOrigin
指定要分派的事件otherWindow
的来源必须是什么
和
otherWindow文档的方案,主机名或端口与
中提供的方案,主机名或端口不匹配targetOrigin
因此您需要提供完整的来源(例如http://example.com:234
),而不仅仅是主机名。
如果您不关心允许哪个来源阅读邮件,请使用"*"
。