【问题标题】:Hide <header> if in iFrame如果在 iFrame 中,则隐藏 <header>
【发布时间】:2013-11-20 15:44:37
【问题描述】:

我正在尝试隐藏我的 tumblr 博客的标题,以防博客加载到 iFrame 中。但到目前为止,我没有任何成功。这是我用作代码的内容:

<script type="text/javascript">
   var isInIFrame = (window.location != window.parent.location);
   if(isInIFrame==true){
       alert("It's in an iFrame");
       document.getElementById('boven').hide();
       }
   else {
       alert("It's NOT in an iFrame");
       }
</script>

我想要隐藏的部分是这样的:&lt;header id="boven"&gt;&lt;/header&gt;

我已经搜索并尝试了不同的方法,但它似乎没有开始工作。我确实得到了真假alert();,但它不想隐藏......

希望有人能帮帮我,我将不胜感激。所以提前谢谢!

【问题讨论】:

  • 你在哪里有这个boven 元素?在 iFrame 或父级内部?你在哪里执行这个js代码?
  • 你确定hide() 有效吗?我在这里没有看到 jQuery 或其他框架的迹象,但也许你自己实现了这个方法?
  • 没关系,但更好的检查可能是(window !== window.parent)

标签: javascript iframe tumblr


【解决方案1】:

我所知道的任何原生 DOM 元素上都没有 hide() 函数。在纯 JavaScript 中,您可以通过更改元素的“显示”模式来隐藏元素:

document.getElementById('boven').style.display = "none";

在 jQuery 等 UI 库中,hide() 方法可能可用。这是 jQuery 语法中的等价物:

$('#boven').hide();

如果您使用诸如 Chrome 控制台、Firefox 中的 Firebug 或 IE 中的 F12 开发工具之类的调试工具,您会立即发现在 &lt;header&gt; 元素上没有这样的方法 hide()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 2021-03-22
    • 2011-10-13
    • 2020-02-11
    相关资源
    最近更新 更多