我有一个<noscript>
标记的网站,除了IE(7,8,9,10)之外的所有浏览器都可以正常使用。
在Internet选项中的安全设置下禁用脚本后,在我的PC上只有我可以在IE上的<noscript>
内容,但在其他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;
}
有什么想法吗?
谢谢!
答案 0 :(得分: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;
}
答案 1 :(得分:0)
即使我遇到过这种情况,因此在经过许多努力之后,我设计了一个效果很好的技巧。取代样式noscript
的标记,覆盖在div中禁用javascript时要显示的元素,然后使用javascript不显示该div。
因此,当禁用javascript时,查看器将看到您希望他们看到的div,但是如果启用了javascript,则div的样式将由您编写的脚本显示为不显示。
通常我们这样做:
<noscript> please enable javascript ... </noscript>
noscript{background-color: red; color: white; font-size: 24px; ... }
相反,这样做:
<div class="noscript"> please enable javascript </div>
.noscript{background-color: red; color: white; font-size: 24px; ... }
const noscript = document.querySelector('.noscript').style.display="none";
答案 2 :(得分:-3)
试试这个css
.noscript {
background: red;
top: 100px;
color: #fff;
padding: 10px;
text-align: center;
position: relative;
z-index: 3;
}