@lightGray

Почему в адресной строке браузера можно запустить javascript-код?

Интересует механизм работы браузера. Очень прошу, простыми словами.
  • Вопрос задан
  • 6128 просмотров
Решения вопроса 1
butteff
@butteff
Раз в тысячу лет заправляю свитер в носки
Потому что javascript выполняется на стороне клиента. А адресная строка браузера может быть использована как консоль.

Т.е. пишете http// сайт - он по http протоколу обращается к сайту. FTP://адрес - по ftp
Пишите javascript:команды - он их выполняет, как консоль джаваскрипта, который выполняется в браузере на стороне клиента.

Примерно так. Т.е. в адресной строке вы говорите браузеру что ему делать
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
А почему бы собственно и нет. К слову вроде как в последних версиях FF это вроде как уже нельзя делать или только собираются...

Вообще так сложилось исторически, когда на рынке были только Netscape и IE. Тогда только только появился JS, W3C вроде как еще не стандартизировало DOM ивенты да и вообще какой-то трешачек творился. Кто-то из разработчиков браузеров сделал возможным делать так:
<a href="javascript: alert('foo');">click me</a>
людям понравилось. Другие разработчики подхватили идею. Что бы это все работало, решили сделать выполнение JS введенного как URL, со своим протоколом и все такое. Это эдакое наследие давних времен. Хотя это лишь одна из версий.

Сейчас эта практика считается дурным тоном, а масса лемингов таким образом раздает на право и на лево свои куки, потому что любят копировать и вставлять все что не поподя.
Ответ написан
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Потому что есть протокол javascript: и закладки. Содержание ответа полностью влезло в ответ.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы