Ничего себе на все -1. Хм, ну ... это может быть недопустимо, но взлом meta
-in- noscript
(как все уже опубликовали и за него проголосовали) действительно - это единственный способ сделать то, что вы хочу. Но:
Мне нужно перенаправить пользователей на страницу уведомлений, если браузер пользователя не поддерживает javascript
Я думаю, что вы хотите не то, что вам нужно 1012 *. Перенаправление без JS ужасно для удобства использования / доступности. Пожалуйста, не делай этого.
Вместо этого рассмотрите подход, подобный SO: держите пользователя на той же странице, но просто включите уведомление на странице о том, что сценарии недоступны:
<noscript>
<div id="noscript-warning">Stack Overflow works best with JavaScript enabled</div>
</noscript>
Вы можете использовать CSS, чтобы сделать его большим и красным и отображаться поверх всей остальной части страницы, если это необходимо.
Вы также можете быть более конкретным. Часто вам нужен не только JavaScript, но и поддержка определенных функций сценариев, которые доступны не везде. Например, IEMobile (до 8) имеет JavaScript, но имеет задержку поддержки DOM, которая останавливает запуск большинства современных сценариев. Или вы можете полагаться на интерфейсы, связанные с HTML5, которые еще не везде. В этом случае вы можете прослушать клиентскую часть и установить видимость уведомления вручную:
<head>
<style type="text/javascript">
#scriptwarning {
position: absolute; z-index: 9;
top: 25%; left: 25%; width:50%; height: 50%;
color: red; background: white;
border: dashed red 1px;
}
body.jsok #scriptwarning { display: none; }
</style>
</head><body>
<script type="text/javascript">
// Sniff capabilities in whatever way is necessary
//
if ('featureWeWantToUse' in window) {
document.body.className= 'jsok';
}
</script>
<div id="scriptwarning">
JavaScript is disabled, or too rubbish on your browser to do what we want.
See the <a href="browsersupport.html">supported browsers</a> page for more information.
</div>
</body>