Недавно я обнаружил изящно простой способ отображения сообщения, если у агента отключен JavaScript, и он отлично работает - на моем ноутбуке ..!
Я проверил это на мобильном сафари, оно не работает. Есть ли причина этого не делать? Я учел эти вещи при написании своего кода:
- Разметка / dom фактически загружается / регистрируется, поэтому я ставлю тег script после конечного тега моего div
- Любая причина, по которой он не должен работать сразу, поэтому я использовал функцию setTimeout и заставил ее ждать 100 мс
- Используемый jquery только в том случае, если старый добрый поиск по дому и модификация стиля не работали так хорошо / правильно
Мой код:
<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>
Заранее спасибо, ребята.
EDIT:
Я подтвердил, что проблема не в Webkit; а также тот факт, что нет никакой разницы, начиная его с самовывозной анонимной функции или помещая скрытый код в window.onload, а не после закрывающего тега div.
EDIT2:
Подтверждено, что выполнение document.getElementById и установка display на none также не работает! Что происходит ...