我的一个网站上有一个iframe
我在其他一些网域上使用过。这个iframe
将从窗口的左侧滑出,并且只占该页面宽度的600px。
我想让用户点击关闭按钮时关闭iframe
。
此关闭按钮位于iframe的 url / src 内。
我想知道如何在用户点击关闭按钮时将其display: none
添加到 iframe
/ parent iframe
< / em>的
这是其他网站上使用的iframe
:
<iframe src="http://iframe-src.com/this/iframe" id="iframe">
这就是我在http://iframe-src.com/this/iframe
源代码中所拥有的:
function CloseIframe() {
document.getElementById('iframe').style.display = "none";
}
<p onclick="CloseIframe()">Close</p>
答案 0 :(得分:1)
如果没有父网站所有者的合作,这是不可能的:跨域安全规则将阻止您直接进入父级以隐藏iframe本身。你最接近的可能是隐藏iframe的内容(例如,通过在身体上设置display:none
) - 这会使框架本身不可见,但iframe区域内的点击将不会落到父窗口。 (不幸的是,即使您在框架pointer-events:none
上设置了body
,也会出现这种情况。)
您最好的选择可能是为这些网站提供一个可以与您的iframe
标签一起嵌入的脚本,该标签可以处理父级内框架的“打开”和“关闭”,避免交叉完全是域名问题。 (就此而言,脚本本身也可以注入iframe,因此他们仍然只有一个元素要添加到他们的文档中;它只是一个脚本标记而不是iframe。)
答案 1 :(得分:0)
<iframe src="http://iframe-src.com/this/iframe" id="iframe"> </iframe>
<script type="text/javascript">
function CloseIframe() {
document.getElementById('iframe').style.display = "none";
}
</script>
<p onclick="CloseIframe()">Close</p>