我最近发现了一种非常简单的方法来在代理禁用 javascript 时显示消息,而且效果很好——在我的笔记本电脑上..!
我在移动 safari 上测试了它,它不起作用。有什么理由不这样做吗?我在编写代码时考虑了这些事情:
- 标记/dom 实际加载/注册,所以我在 div 的结束标记之后放置了一个脚本标记
- 它不应该立即工作的任何类型的原因,所以我使用了 setTimeout 函数并让它等待 100 毫秒
- 使用 jquery 只是以防旧的 dom 查找和样式修改的东西没有表现得那么好/正确
我的代码:
<div id="enable-js">
<div id="content-container">
<div id="text_wrapper">
<p>For the best experience, please <a href="http://www.activatejavascript.org/">enable
javascript</a>.
If your browser is not capable of using javascript,
please considering getting a <a href="http://alternativebrowseralliance.com/browsers.html">better
browser</a>.
</p>
</div>
</div>
</div>
<script type="text/javascript">
(function() {
setTimeout(function() {
$('#enable-js').hide(); //hide area if scripts enabled
}, 100);
})();
</script>
提前谢谢各位。
编辑:
我确认问题不在于 Webkit;以及使用自调用匿名函数或将隐藏代码放在 window.onload 中而不是在 div 的结束标记之后开始它没有区别的事实。
编辑2:
确认执行 document.getElementById 并将 display 设置为 none 也不起作用!到底是怎么回事...