我正在测试我的noscript标签,这些标签在javascript被禁用时显示内容,这适用于Safari,Chrome,Firefox,Camino,IE6,IE7,IE8,IE9,基本上除了Opera之外的一切(我正在运行版本11,不确定如果它被隔离到那个版本)。
在Opera 11中没有显示任何内容......是否不支持noscript标签?什么是替代方案?
没什么好奇的:
<noscript>Please enable JavaScript.</noscript>
位于身体标签之间。
<html>
<body>
<script>alert('Hello World');</script>
<noscript>Hello World!</noscript>
</body>
</html>
答案 0 :(得分:8)
您确定在Opera中禁用了javascript:
菜单&gt;&gt;设置&gt;&gt;偏好设置&gt;&gt;内容&gt;&gt;取消选择“启用Javascript”
如果是,请在此处发布整个文件的内容。
修改强>
直到他们修复版本11中的这个错误,我估计很快就会发生这种错误,你可以试试这个:
<script type="text/javascript">
<!--
document.write("<style type='text/css'>.noScript { display: none; }</style>");
//-->
</script>
<span class="noScript">Please enable javascript in your browser.</span>
您基本上使用javascript来显示隐藏无脚本消息的css,但如果禁用了javascript,则无法显示css因此消息将显示。
答案 1 :(得分:6)
<noscript>
。已知错误。
答案 2 :(得分:1)
<noscript>
的实施有缺陷且不一致,不推荐。你最好做一些事情:
<span class="noscript">Please enable JavaScript.</span>
然后,您可以使用JavaScript在页面加载时隐藏任何带有“noscript”类的内容。禁用JavaScript的用户将看到该消息,因为它不会被隐藏。
答案 3 :(得分:1)
槽糕。我在一个noscript中包含了一个元刷新,这样如果一个页面中的某些元素无法通过javascript重新加载,页面就会自动重新加载。我看不到像隐藏CSS元素的黑客那样的替代方案。我最初的想法可能是设置一个元刷新标题,但如果javascript可以执行则覆盖它根本不刷新,但我看不到任何方法让javascript重新定义页面刷新时间。
答案 4 :(得分:0)
试试这个
<span class="noscript"></span>
<noscript>Please enable JavaScript.</noscript>
答案 5 :(得分:0)
不建议使用noscript
元素。如果脚本被部分阻止(例如,通过公司防火墙或NoScript扩展,或仅仅是临时DNS故障),它将无法工作。
答案 6 :(得分:0)
这适合我......(在IE,Opera和FireFox中测试)
<p id="js_disabled">
<script type="text/javascript">
document.getElementById('js_disabled').style.display = 'none';
</script>
Javascript is disabled or not supported by your browser.<br/>
Javascript must be enabled...
</p>
JavaScript立即运行,因此noscript消息永远不会出现。
我们的想法是将JavaScript代码紧跟在noscript的开始标记之后,在本例中为段落标记。