1

我有一个网站,其<noscript>标签在除 IE (7,8,9,10) 之外的所有浏览器上都可以正常工作。在 Internet 选项中的安全设置下禁用脚本后,我只能在我的 PC<noscript>上查看 IE 上的内容,但在其他 PC(几乎全部)上我看不到代码。使用这些 PC,我们对 Gmail 和 FB 的站点使用相同的设置,并且我们确实收到了未启用 js 的警告。

这是 HTML:

<noscript>
    <div class="noscript">
        JavaScript must be enabled in order for you to use WEBSITE NAME in standard view.<br />
        However, it seems JavaScript is either disabled or not supported by your browser.<br />
        To use standard view, enable JavaScript by changing your browser options, then <a href="">try again</a>. 
    </div>
</noscript>

CSS:

.noscript {
    background: red;
    color: #fff;
    padding: 10px;
    text-align: center;
    position: relative;
    z-index: 3;
}

有任何想法吗?

谢谢!

4

3 回答 3

2

也遇到过这个问题。我有这个在 IE 中工作,然后它突然停止了。我发现,如果您的 css 嵌套在实际 css 定义中的 noscript 标签下,它将无法工作。如果你只使用一个类名就可以了。

我正在使用 IE 10 进行测试,并使用他们的开发工具将文档模式更改为较旧的浏览器模式以进行验证。实际使用旧版浏览器时,结果可能会有所不同。如果是这种情况,请回来报告。

示例 html:

<noscript>
    <div class="noscript">
        JavaScript must be enabled ...
    </div>
</noscript>

不工作:

// classes nested beneath a noscript tag are not applied by IE
noscript div.noscript {
        display: block;
        text-align: center;
        color: white;
        font-weight: 700;
        background: #D53333;
        margin: 0 auto;
        padding: 4px;
    }

是否有效:

div.noscript {
    display: block;
    text-align: center;
    color: white;
    font-weight: 700;
    background: #D53333;
    margin: 0 auto;
    padding: 4px;
}
于 2014-01-28T22:21:46.167 回答
0

我记得当我刚接触 html 时,我是如何努力解决这个问题的。虽然,我还没有找到解决问题的方法,但我发现了一个非常好的技巧,可以很好地完成这项工作。它已经解释如下:

通常,我们为此使用noscript标签。但 Internet Explorer 不支持此标记。

因此,不要采用常规方式,而是使用div标签而不是noscript标签。给它一个id。稍后在结束正文标记上方,添加一个脚本标记并粘贴以下代码:

var noscript = document.getElementById('_id_of_the_div_used_instead_of_noscript');
noscript.style.display = 'none';

上面的代码是做什么的?
它获取#noscript元素并将其显示样式设置为“无”。因此它消失了。

这是如何运作的?
这是有效的,因为如果脚本被禁用,您粘贴上述代码的脚本标签将不起作用。因此div#noscript仍然可见。但是如果启用了脚本,上面的代码会使div#noscript消失。它就像noscript标签一样工作。

请参见下面的示例:

通常我们这样做:

  • html:<noscript> please enable javascript ... </noscript>
  • CSS:noscript{background-color: red; color: white; font-size: 24px; ... }

而是这样做:

  • html:<div id="noscript"> please enable javascript ... </div>
  • CSS:#noscript{background-color: red; color: white; font-size: 24px; ... }
  • js:document.querySelector('#noscript').style.display="none";
于 2019-12-27T04:35:55.857 回答
-3

试试这个 CSS

.noscript {
   background: red;
   top: 100px; 
   color: #fff;
   padding: 10px;
   text-align: center;
   position: relative;
   z-index: 3;
}
于 2013-04-02T10:13:04.940 回答