прогрессивное улучшение на стороне сервера?
-
23-08-2019 - |
Вопрос
В настоящее время многие ссылки на наших страницах изменены на href="javascript:void(0);"
на pageload, но если вам не терпится (как и большинству пользователей), вы можете щелкнуть по ссылкам до загрузки страницы и перейти на более неуклюжие страницы без javascript и ajax.
В эти дни я много думаю о прогрессивном улучшении и предсказываю, что у большинства наших пользователей будет включен javascript (пока нет данных, мы еще не запустили альфа-версию).
Это плохая идея - сгенерировать какой-нибудь индикатор того, что у пользователя включен javascript для сеанса, а затем обслуживать страницы, использующие javascript?(то есть.попросите сервер поставить href="javascript:void(0);"
с самого начала)
Решение
Почему бы просто не сделать это?
<a href="oldversion.htm" onclick="...something useful......; return false;">link</a>
return false
указывает браузеру не переходить к URL-адресу в href.
Теперь посетители js получают модный js, а пользователи, не являющиеся пользователями js, молча отступают;и нет необходимости менять ссылки в pageload.
Другие советы
Делаете ли вы свое прогрессивное улучшение при нагрузке?Вы могли бы попробовать переместить его в (кроссбраузерную версию) DOMReady.
Не могли бы вы делегировать это документу, чтобы сохранить ваш HTML чистым?
Например, в jQuery:
$( document )
.click( function(){ return false })
.ready( function(){ $( this ).unbind( "click" ) } )