Я наткнулся на что-то странное, чего я никогда раньше не видел:
javascript:a=a+10;
Вышеприведенная строка кажется правильной и успешно оценивает (по крайней мере, в Firefox) так же, как если бы часть javascript:
никогда не существовала.
В то время как я понимаю цель старого стиля javascript:void(...)
<a href=".."/>
, используемого в темные времена DHTML, я просто могу" t выяснить любое полезное использование этого префикса в простом JavaScript-коде.
Есть ли у него какой-то особый смысл?
Ответ 1
"javascript:
" - это label. Он должен использоваться для идентификации цикла, чтобы вы могли использовать "break javascript;
", чтобы вырваться из него, но здесь неправильно используется. Это безвредно, но, вероятно, не рекомендуется добавлять метку в оператор, который не является циклом.
Ответ 2
Он синтаксически действителен (это label), но бесполезен. Это обработка грузов, вызванная тем, что люди копируют/вставляют код, не понимая его.
Ответ 3
JavaScript также можно использовать из веб-страниц в HTML-приложении (HTA). В HTA можно использовать сочетание VBScript и JavaScript. Когда вы используете скрипты в своем приложении, как и в следующем, язык сценариев автоматически устанавливается на VBScript.
<SCRIPT LANGUAGE='VBScript'> MsgBox 'Hi!'</SCRIPT>
Таким образом, элемент с событием onclick JavaScript, как и в следующем, приведет к ошибке.
<a id="myLink" href="#" onclick="MyFunction();return false;">Click me!</a>
Вы можете решить эту проблему, явно задав язык JavaScript с помощью
<a id="myLink" href="#" onclick="javascript:alert('Javascript Executed!');return false;">Click me for Javascript!</a>
Или в VBScript
<a id="myLink" href="#" onclick='vbscript:msgbox "VBScript Executed!"'>Click me for VBScript!</a>
Примечание. Я знаю, что это угловой случай, но это фактическое использование метки javascript:
(можем ли мы по-прежнему называть это меткой в этом контексте?), с которой я столкнулся при создании смешанных языков HTA.
Ответ 4
Я согласен с тем, что это бесполезность как ярлык, но в некоторых случаях это все еще полезно. Например, вам нужно выполнить короткий фрагмент из адресной строки или написать букмарклет. Но в этом случае javascript:
будет больше похож на схему псевдопротокола.