Почему браузеры не отправляют, если в заголовке запроса включен или отключен JavaScript? - PullRequest
6 голосов
/ 17 февраля 2011

Это просто кажется чем-то действительно полезным при разработке кода на стороне сервера.Если вы знаете, что браузер не будет использовать javascript со стороны сервера, вы можете легко приспособить пользователя.Или, если вам это просто нравится, перенаправьте их на страницу с надписью «эй ... нам нужно, чтобы вы использовали javascript для нашего приложения» и т. Д.

Кто-нибудь знает, почему это так?

Ответы [ 5 ]

1 голос
/ 17 февраля 2011

Один из способов, которым я пользуюсь, - это иметь целевую страницу / страницу входа.Когда пользователь нажимает кнопку входа, используйте Javascript для отправки результатов или обновления скрытого поля перед регистрацией.Если javascript отключен, то javascript не будет работать, и поэтому вы можете предположить, что он выключен.

1 голос
/ 17 февраля 2011

См. Тег <noscript>, здесь .

Я знаю, что он, вероятно, не идеален (у меня недостаточно опыта, чтобы разобрать его), но он, безусловно, дает намдостаточно гибкости, чтобы немного изящно ухудшиться.

0 голосов
/ 17 февраля 2011

Как бы удобно, чтобы ваш сервер не знал о возможностях Javascript вашего браузера до начала рендеринга страницы, я вижу странный крайний случай, такой как:

// hide malicious code from people without javascript
if ($header['javascript'] == 'false') {
    show_regular_safe_website();
} else {
    use_some_nasty_javascript_exploit();
}
0 голосов
/ 17 февраля 2011

Полагаю, что поле «Принять» можно использовать для таких целей, как «Принять: текст / JavaScript».Но поскольку он является частным, IETF никогда не включит его в какие-либо стандарты, и поэтому широкое распространение вряд ли возможно.Веб-разработчики справились до сих пор.

0 голосов
/ 17 февраля 2011

Настоящая причина в том, что когда Netscape выпустил JavaScript, они никогда не думали сделать информацию доступной в заголовках HTTP.Вместо этого они создали тег <noscript>.

...