Я стараюсь следовать за ненавязчивым JavaScript/грациозным деградации. Я хочу показывать страницу с разными ссылками, когда включен JavaScript, и когда JavaScript отключен.Как создать различные ссылки на веб-странице, если включен JavaScript?
Например, когда JavaScript выключен ссылка будет
<a href="script.cgi?a=action">
и когда JavaScript включен
<a href="script.cgi?a=action;js=1">
(или что-то подобное).
Обе версии (с JavaScript и без JavaScript) ссылки приводят к скрипту на стороне сервера, но с разными параметрами. Версия, предназначенная для вызова при выключенном JavaScript, больше работает на сервере, поэтому было бы неэффективно обнаруживать там JavaScript (например, перенаправление из сценария сервера для не-JavaScript в другую версию через window.location
).
Примечание: Я бы предпочел решение без использования библиотек JavaScript/фреймворков, таких как jQuery.
Мне не нравится хрупкость, предполагающая, что действие querystring param всегда будет там. Почему бы не отдельный параметр, например, js = 1? – RedFilter
Строка запроса в первом примере имеет параметр «a» со значением «action», пример раздела имеет то же самое, но добавляет параметр «js» со значением «1». (Обратите внимание, что и & являются взаимозаменяемыми во всех библиотеках обработки правильных запросов). – Quentin
Если вы следите за изящной деградацией, вы не должны пытаться сообщить серверу, что JS доступен или нет. Он должен обрабатываться внутри страницы, и серверу не нужно заботиться. http://icant.co.uk/articles/pragmatic-progressive-enhancement/ - хорошее руководство. – Quentin