У меня есть большой, динамически созданный сайт с одной страницей, который сильно зависит от javascript. Я хочу иметь резерв для людей без javascript.
Каждая версия должна иметь разные php-коды, поэтому в основном мне нужна совершенно другая индексная страница. Я не хочу обертывать ВСЕ в javascript и ВСЕ ЕЩЕ в тегах. Если нет простого способа сделать это.
Каков наилучший способ загрузить одну страницу или другую в зависимости от того, включен ли javascript или нет?
Во-первых, чтобы напрямую ответить на ваш вопрос, вы можете перенаправить пользователя от первой индексной страницы, если JavaScript включен с помощью location.href
. То есть, если у пользователя нет встроенного JavaScript, они останутся на первой странице. Кроме того, они будут перенаправлены на версию JavaScript.
Но, как я обычно делал это, сначала убедитесь, что сайт работает без JavaScript; затем добавьте дополнительный код для JavaScript после этой простой версии.
<a href="foo.php" onclick="return foo();">Foo</a>
Здесь, если JS не включен, они перейдут на foo.php
. Кроме того, вы можете иметь функцию foo
сделать что-то и вернуть false, сохраняя их на странице. То же самое можно сделать и для форм.
Используйте тег noscript
чтобы предоставить пользователю путь к странице, отличной от javascript.
Пример: код в http://jsfiddle.net/xdYNE/ работает (когда JS выключен) по адресу http://jsfiddle.net/xdYNE/show/
( подсказка : см. его с отключенным JS, чтобы понять ..)
Похоже, что перенос PHP-перенаправления внутри тегов noscript был бы самым простым способом.