我想关闭iframe中的特定元素 - 但是如果单独查看地图则显示它。
我有我创建的Google地图,它们与网站位于同一个域,文件夹等。我可以控制CSS,JavaScript等等。
我的网页包含iframe中的地图,以显示描述地图的其他内容。如果用户想要仅查看地图,则网页上有一个链接可单独查看地图。在创建地图本身的HTML文档中,我有一个元素,其中的链接浮动在地图上方,并带有该网站的徽标,以便用户可以返回到该网站。
我不希望在使用iframe观看时显示此徽标,但我确实希望它能够显示地图是否自行查看。
我做了研究,尝试了使用CSS为iframe和display:none的页面建议的方法,但不知何故,某些东西都没有用。
我不在乎它是否需要JavaScript,jQuery或CSS,我只需要一些有用的东西。感谢。
答案 0 :(得分:2)
您可以使用一些简单的JavaScript来检查页面是否在框架中呈现:
if (window.top != window) {
// in a frame, hide stuff
}
window.top
指的是页面中最上面的窗口。当页面独立查看时,这是常规的window
;在一个框架中,它不是。
答案 1 :(得分:1)
您可以检测self
窗口是否也是top
窗口。如果没有,则将类应用于root
元素并使用该类隐藏或显示内容的一部分:如果您将此脚本放在head
<script>
(function(d, w) {
if (w.self !== w.top) {
/* this document is loaded in a frame/iframe */
d.className += " iframe";
}
}(document.documentElement, window));
</script>
在包含CSS之前,您可以编写这种规则
.map { display: block; }
.iframe .map { display: none; }
或者像这样使用jQuery
$('.iframe .map').hide();