Выжить без JavaScript: ссылка vs кнопка
Недавно увидел на одном сайте такой код:
<input type="button" name="name"
value="Go somewhere"
onclick="javascript:
document.location.href=
'www.somewhere.org.ia'"/>
Кнопка была единственным контролом на странице,
т.е. пользовательские данные не собирались.
Вопрос: зачем писать отдельный код, чтобы сделать то, для чего есть простое, готовое и подходящее решение?!
Минусы этого подхода очевидны:
- выключенный в целях безопасности JavaScript не даст пользователю перейти по ссылке. Конечно, нашего человека это не остановит, и он легко выкусит УРЛ из исходника, но кому это надо?
- как-то я решил потестить известные сайты в броузере на мобиле... Оказалось, что там (пока) вообще нет такого понятия, как JavaScript.
- чисто технически писать onclick="javascript:..." бессмысленно, потому что внутри обработчика интерпретатор УЖЕ ждёт JavaScript-код.
Вывод: тут можно обойтись без программирования и положиться чисто на силы броузера, надо просто использовать первооснову гипертекста - простую ссылку.
Далее. Бывает, что формы субмитят так:
<form>
<input />
<input />
<a href="javascript: document.forms[0].submit();
return false;">Submit data</a>
</form>
Минусы те же, за исключение того факта, что в данном случае
href="javascript:..." оправдано, т.к. броузер ждёт здесь ссылку, а не код.
Вывод: и тут можно обойтись без программирования, просто вспомнив о ВСТРОЕННОМ типе инпутов - <input type="submit"/>.
2 комментов:
всё это конечно хорошо, но есть НО :)
в первом случае, если вдруг надо чтобы выводилась именно кнопка а не ссылка то такой подход вполне ясен, не прийдется писать стиль для ссылкы
во втором случае, как быть если наша ссылка находится в другой форме? в таком случае нельзя просто написать input type="submit" !
а мораль такова: в нормальных/серьезных проэктах без жавасрипта выжить нельзя.
удачи!
нельзя рассматривать эти варианты не зная ради чего они задумывались
Отправить комментарий