Верстальщику нужно было создать кусок текста, при клике на который вызывается обработчик onclick и больше ничего не происходит. Вместо кнопки (input или button) или простого span-а он почему-то решил непременно использовать ссылку (a). Если оставить атрибут href пустым (""), то при клике на ссылку страница перезагрузится. Если записать в него решетку ("#"), то по клику страница перемотается на самый верх. URL вида javascript:void(0) указывает браузеру, что нужно выполнить код JS - функцию void(), которая ничего не загружает, не прокручивает и вообще ничего не делает.
Зачем используется такой хитрозакрученный вариант - непонятно. Видимо, верстальщик когда-то подсмотрел этот прием в древних нетскейповских доках по JS и теперь бездумно сует его куда попало. Лучше сделать по-другому:
- использовать кнопку или просто span с onclick:
<span class="button" onclick="fullScreen('jscript_full_screen_demo. html')">. ;
- если все-таки хочется использовать ссылку, то можно засунуть вызов функции в href:
<a href="javascript:fullScreen('jscript_full_screen_demo. html')">. ;
- вежливый и дружелюбный верстальщик предусмотрел бы возможность "вручную" открыть эту ссылку на новой вкладке (по shift-клику, по средней кнопке мыши):
<a href="jscript_full_screen_demo. html" onclick="fullScreen('jscript_full_screen_demo. html'); return false">. (этот вариант будет работать и при отключенных скриптах).
Не работает javascript:void(0) для ссылки
SergeyNetIt сказал(-а): 21.11.2013 18:44
Не работает javascript:void(0) для ссылки
Для ссылки в которой будут находятся вложенные пункты меню, я прописал javascript :void(0). Срабатывает только в Mozille. В опере пишет ошибка URL-адрес: :void(0)" target="_blank" rel="nofollow" id="1/forum/showthread. php? t=51597">http://javascript :void(0) содержит номер порта вне диапазона от 1 до 65535. Не работает также ив сафари и ie6-9. В хроме открывается белый экран about :blank.
В защиту javascript:void(0); 16.05.2014 19:18
Намедни я решил посмотреть новости через Google. Нажимаю правой кнопкой на ссылку «другие новости» и в контекстном меню нет пунтка открыть в новом окне. При нажатии через ctrl новая вкладка не открывается. Я решил глянуть исходный код и вижу javascript: void (0); Для меня это стало новостью, ведь все что читал до этого — было однозначно против такого решения. Я имею ввиду ситуацию когда ссылка запускает какой-то js код и по прямому назначению не используется, то какую разметку лучше использовать? … или…
Void лучше href=»#» поскольку пользователя нет возможности открыть новое окно с тем-же самым документом. Т. е. поведение href=»#» при открытии в новом окне для пользователей неожиданно. Если какой-то возможности нет — то ее не должно быть в интерфейсе. Если на пальцах пользователь: кликает на 15 ссылок правой кнопкой мыши и открывает каждую в новой вкладке. В итоге у него 16 вкладок с одним и тем-же документом.
Более того, void «правильней» href=«javascript: void (0);» — ничего не делать. href=»#» — перейти в начало страницы.
Чтобы если вдруг стандарт «javascript:» отменят не было коллизий используйте вместе с ним onclick=«return false;». Подсмотрено у Гугл ньюс:
Кода, конечно, много, но так удобнее для пользователей.
P. S. под href=»#» я подразумевал когда хреф содержит только решетку. Если у вас есть ссылка href=»#someMark» и документ нормально реагирует на метку, то void не нужен.
Не работают JavaScript
Всем привет.
Перелопатил весь форум по схожим темам и не нашел решения проблемы.
Три дня назад я обнаружил такую проблему у себя на ноутбуке (win7 sp1 x64):
При использовании firefox (пробовал и 7, и 8 версию) перестали отображаться или работать почти все элементы, основанные на javasript (неделю назад все прекрасно работало).
Проверил на множестве сайтов/форумов - везде одно и то же. Если какая-либо кнопка подразумевает исполнение скрипта типа "javascript://", то ноль реакции.
В число нерабочих попали также кнопки воспроизведения аудиозаписей известного сайта ВКонтакте.
Следуя подсказкам с вашего форума:
1. при вводе в адресную строку javascript:alert("Работает!"); --- ноль реакции
2. javascript в настройках браузера включен, в about:config - enabled
3. Временные файлы удалялись ccleaner'ом - не помогает
4. создавал новый профиль - не помогает
5. никаких дополнений в данный момент не установлено. был только AdblockPlus, который я и отключал и в конце концов удалил - все равно не работает ничего.
6. переустановка браузера не помогает
На работе на компе с другой конфигурацией (winxp sp3 x86) стоит также последний firefox. Проблема та же самая.
В других браузерах все работает нормально.
Антивирусы на компах разные - drweb и symantec. после полной проверки с последними базами - вирусов не обнаружено.
В общем, я не знаю, как и почему мои браузеры переклинило. Может кто-то сталкивался?
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-6667286237319125"
data-ad-slot="5736897066">
Комментариев нет:
Отправить комментарий