Перенаправление пользователей с отключенным JavaScript - PullRequest
2 голосов
/ 27 сентября 2011

Таким образом, с учетом следующей разметки, если в браузере пользователей отключен JavaScript, они будут перенаправлены на альтернативную страницу, которая либо пытается эмулировать функциональность сайтов без JavaScript (возможно, динамически отображаемой страницы), либо на страницу с предупреждением, сообщающуюпользователю, который должен включить JavaScript для использования сайта

<!doctype html>
<html>
<head>
    <!-- If the browser has javascript disabled, the browser will be redirected-->
    <!-- to a page that does not require javascript to function, or informs the-->
    <!-- the user of the requirement for javascript to be enabled-->
    <noscript>
        <meta http-equiv="refresh" content="5; url=/warning.html"/>
    </noscript>
    <title>
        Page Title
    </title>
</head>
<body>
    <script>
        // rich client logic
    </script>
</body>
</html>

Судя по этому валидатору html5 , а также валидатору w3c , может показаться, чтодействительный HTML5.Я рассматриваю возможность использования этого метода для управления пользователями, у которых не включен JavaScript и, следовательно, они не могут использовать одностраничное приложение, которое я планирую, но я его раньше не видел, и мне было интересно, если

(a)Кто-нибудь ранее использовал эту технику в производстве и хочет поделиться своим опытом

(б) Кто-нибудь может высказать какую-либо ценную критику в отношении того, почему я не должен рассматривать использование этой техники?

Прямо сейчасдля меня это выглядит приемлемым вариантом, но я не совсем уверен в потенциальных побочных эффектах (таких как условия, при которых браузер НЕ будет соблюдать перенаправление).

Ответы [ 2 ]

2 голосов
/ 27 сентября 2011

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

У вас очень хрупкая система.Если JS не работает по какой-либо причине, он полностью сломается.Поисковые системы могут показывать обе версии сайта и связывать людей с «неправильной».

Так что не делайте этого.Используйте функцию обнаружения и , основанную на вещах, которые работают .

1 голос
/ 09 декабря 2011

Я использую эту технику, и она отлично работает. Я просто добавляю эту строку на страницу без JavaScript:

<META NAME="ROBOTS" CONTENT="NOINDEX, FOLLOW"> 

Раньше я не соглашался с этим подходом и рекомендовал прогрессивное улучшение, но делать это больше не имеет смысла, потому что:

1: Около 1% пользователей отключат JavaScript, это намного больше, чем на 1% больше работы для их поддержки. (статистику прошлых лет см .: http://developer.yahoo.com/blogs/ydn/posts/2010/10/how-many-users-have-javascript-disabled/)

2: альтернативе javascript не всегда есть.

...