javascript - 仅当在 iframe 或灯箱中查看网站时才添加某些 CSS 样式

标签 javascript jquery html css iframe

每当在 iframe/lightbox 中查看我的网站时,我想删除我的页眉/页脚。我在网上搜索了一下,得出以下代码:

if (window.top!=window.self)
    {
  // In a Frame or IFrame
echo "<style> 
         .sticky-wrapper{ display: none !important;} 
         .header-contact-bar {display: none !important;}
         #as.footer { display: none !important;}
      </style>";
    }
    else
    {
  // Not in a frame
    } 

Lightbox 中的 CSS 也发生了变化,我的网站上也发生了变化。问题是。我不明白为什么当我不在灯箱/iframe 中时它也会添加 css。

  1. 我是不是在用代码做些什么?

  2. 代码是否有效?

  3. 我是否必须在 else 语句中添加一些内容?

  4. 是的。什么?

最佳答案

在困惑了很久之后找到了我自己的解决方案。

<script>

        if( self != top ) {
   headTag = document.getElementsByTagName("head")[0].innerHTML;
   var frameCSS = headTag + '<style type="text/css">.sticky-wrapper{ display: none !important;}  .header-contact-bar {display: none !important;} #as.footer { display: none !important;}</style>';
   document.getElementsByTagName('head')[0].innerHTML = frameCSS;
}
  </script>

关于javascript - 仅当在 iframe 或灯箱中查看网站时才添加某些 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24608116/

相关文章:

javascript - 如何获取之前选择的选项?

javascript - 仅对 jqgrid 中的当前页行进行排序

javascript - TinyMce 格式化问题

javascript - 我无法让它作为 JavaScript 函数工作(当我 console.log 时,我得到了我想要的返回值,但我无法将其作为函数调用)

javascript - 无法在 jquery mobile 中设置下拉菜单的值

javascript - JSON 将数据从 HTML 发送到 PHP 并提醒用户该过程是否成功

html - Bootstrap img-responsive 不缩放到父级

html - 如何删除 float 边距或填充?

javascript - 从字符串执行 Javascript 代码的概念方法

javascript - 如何在对象集合中找到特定值?