href javascript void 0 что значит

Полезная конструкция javascript void: особенности использования и замены

Доброго времени суток, читатели данной публикации и дорогие подписчики. Сегодня я решил рассказать вам о javascript void. На данный момент этот механизм все реже встречается в сайтостроении, так как многие современные сервисы стараются его заменить другими средствами.

Однако есть и те разработчики, которые до сих пор пользуются определенными конструкциями с void по некоторым причинам. Поэтому в текущей статье я объясню, что значит эта технология и для чего она используется, расскажу, какими особенностями и недостатками она обладает, а также приведу примеры. Приступим к делу!

Что обозначает оператор void?

Оператор void при запуске какой-либо функции или ссылки позволяет вычислить полученные значения, однако вернуть undefined (никак не null!). Чаще всего встречается выражение void (0) или void 0. Перевод на русский язык самого слова «void» означает «пустота». Именно поэтому в большинстве случаев оператор возвращает undefined.

Сам по себе void используется только в тех ситуациях, когда в программе необходимо произвести какие-то действия, не перегружающие страницу или не изменяющие объектов на ней.

В каких задачах используется void?

href javascript void 0 что значит. Смотреть фото href javascript void 0 что значит. Смотреть картинку href javascript void 0 что значит. Картинка про href javascript void 0 что значит. Фото href javascript void 0 что значит

На сегодняшний день данный механизм можно использовать в трех направлениях:

Разберем каждый из вариантов отдельно.

Замена стандартного значения выражением void (0)

Данная команда обладает одним преимуществом, поэтому так часто используется в некоторых проектах: ее значение нельзя переопределить, в то время как undefined может быть не только переопределено, а еще и затерто по ходу выполнения команд в коде.

В подтверждение этого я прикрепил небольшое приложение.

Источник

Что означает» javascript:void(0)»?

Я видел такие href очень много раз, но я не знаю, что именно это означает.

15 ответов

на void оператор часто используется только чтобы получить undefined примитивный значение, обычно используя » void(0) » (который эквивалентно » void 0 «). В этих случаи, глобальная переменная undefined может использоваться вместо этого (предполагая, что он имеет не назначено не по умолчанию значение.)

объяснение приводится здесь: void оператор.

в дополнение к техническому ответу, javascript:void означает, что автор делает это неправильно.

нет никаких оснований использовать javascript: псевдо-URL (*). На практике это вызовет путаницу или ошибки, если кто-то попробует такие вещи, как «ссылка на закладку», «открыть ссылку на новой вкладке» и т. д. Это происходит довольно часто, теперь люди привыкли к среднему щелчку для новой вкладки: это похоже на ссылку, вы хотите прочитать ее на новой вкладке, но она оказывается не реальной ссылкой вообще, и дает нежелательные результаты, как пустая страница или ошибка JS при щелчке.

в некоторых случаях может быть полезным место, чтобы указать ссылку. Например, если у вас есть элемент управления, вы можете нажать на который открывает ранее скрытый

недостатком этого является то, что вы теряете управление клавиатурой, так как вы не можете вкладывать в span/div/bare-a или активировать его с помощью пространства. Является ли это на самом деле недостатком, зависит от того, какое действие элемент намеревается предпринять. Вы можете, приложив некоторые усилия, пытаются имитировать interactability клавиатуры путем добавления tabIndex к элементу и прослушивание для нажатия клавиши Пробел. Но это никогда не переход на 100% воспроизводит реальное поведение браузера, не в последнюю очередь потому, что разные браузеры могут реагировать на клавиатуру по-разному (не говоря уже о невизуальных браузерах).

если вы действительно хотите элемент, который не является ссылкой, но который может быть активирован как обычно с помощью мыши или клавиатуры, то вы хотите (или так же хорошо, для простых текстов). Вы всегда можете использовать CSS для изменения стиля, чтобы он выглядел скорее как ссылка, чем кнопка, если хотите. Но так как он ведет себя как пуговица, вот как на самом деле вы должны отметить это.

(*: в авторинга сайта, во всяком случае. Очевидно, они полезны для букмарклетов. javascript: псевдо-url-это концептуальная причудливость: локатор, который не указывает на местоположение, а вместо этого вызывает активный код внутри текущего местоположения. Они вызвали огромные проблемы безопасности как для браузеров, так и для webapps, и никогда не должны были быть изобретены Netscape.)

это означает, что он ничего не сделает. Это попытка по ссылке не перейти никуда. Но это неправильный путь.

вы должны на самом деле просто return false на onclick событие, вот так:

чтобы сделать ваш сайт полностью удивительным, однако обычно вы включаете ссылку, которая выполняет то же самое действие, если человек, просматривающий ее, решает не запускать JavaScript.

существует огромная разница в поведении » # » против javascript: void

«#» прокручивает вас в верхней части страницы в то время как» javascript:void(0); » не делает.

Это очень важно, если вы кодируете динамические страницы. пользователь не хочет возвращаться наверх только потому, что он нажал ссылку на странице.

он используется очень популярно для добавления функций JavaScript в HTML-ссылку, например: [Print] ссылке, которую вы видите на многих веб-страницах. Код такой:

у вас всегда должен быть href на вашем a теги. Вызов функции JavaScript, которая возвращает «undefined», будет просто прекрасным. Так же будет ссылка на»#».

якорные теги в Internet Explorer 6 без href не получают a:hover стиль применяется.

Да, это ужасное и незначительное преступление против человечества, но опять же, как и Internet Explorer 6 в целом.

надеюсь, это поможет.

Internet Explorer 6 на самом деле является основным преступление против человечности.

веб-браузеры будут пытаться взять все, что используется в качестве URL-адреса и загрузить его, если это не функция JavaScript, которая возвращает null. Например, если мы нажмем такую ссылку:

важно отметить, что оператор void требует значения и не может использоваться сам по себе. Мы должны использовать его так:

на void оператор вычисляет выражение и возвращает значение undefined. Это позволяет избежать обновления страницы.

стоит отметить, что вы иногда увидите void 0 при проверке на неопределенность, просто потому, что для этого требуется меньше символов.

некоторые методы минимизации заменяют undefined на void 0 по этой причине.

использование javascript:void(0) означает, что автор HTML неправильно использует элемент привязки вместо элемента кнопки.

якорные теги часто злоупотребляют событием onclick для создания псевдо-кнопки, установив href В » # » или «javascript: void (0)» в предотвратить страницу от освежающего. Эти значения вызывают непредвиденные поведение при копировании / перетаскивании ссылок, открытии ссылок в новом вкладки / окна, закладки и когда JavaScript все еще загружается, ошибки, или отключен. Это также передает неправильную семантику вспомогательные технологии (например, устройства чтения с экрана). В этих случаях рекомендуется использовать вместо. В общем, вы должны использовать только якорь для навигации с использованием правильного URL-адреса.

чтобы понять эту концепцию, сначала нужно понять оператор void в JavaScript.

синтаксис оператора void: void «expr» который оценивает expr и возвращает undefined.

Если вы реализуете void как функцию, она выглядит следующим образом:

в некоторых ситуациях важно вернуть undefined в отличие от результата выражения. Тогда void можно использовать, чтобы отбросить этот результат. Одна из таких ситуаций включает javascript: URL-адреса, которых следует избегать для ссылок, но которые полезны для букмарклетов. При посещении одного из этих URL-адресов многие браузеры заменяют текущий документ результатом оценки URL-адресов «содержимое», но только если результат не является неопределенным. Поэтому, если вы хотите открыть новое окно без изменения отображаемого контента, вы можете сделать следующее:

ссылка должна иметь цель HREF, которая должна быть указана, чтобы она могла быть полезным отображаемым объектом.

большинство браузеров не будут анализировать расширенный JavaScript в

поскольку тег HREF в большинстве браузеров не допускает пробелов или преобразует пробелы в %20, шестнадцатеричный эквивалент пробела, что делает ваш JavaScript абсолютно бесполезным для интерпретатора.

поэтому, если вы хотите использовать тег a HREF для выполните встроенный JavaScript, вы должны сначала указать допустимое значение для HREF, которое не слишком сложно (не содержит пробелов), а затем предоставить JavaScript в теге атрибута события, таком как OnClick, OnMouseOver, OnMouseOut и т. д.

типичный ответ сделать что-то вроде этого:

это отлично работает,но это заставляет страницу прыгать наверх из-за знака фунта / хэш-тега.

просто предоставляя знак фунта / хэш-тег в a HREF тег фактически указывает корневой якорь, который всегда, по умолчанию в верхней части страницы, можно указать другое местоположение, указав атрибут NAME внутри тега a HREF.

затем вы можете изменить свой тег HREF, чтобы перейти к «middleofpage» и выполнить JavaScript в событии OnClick, как только это произойдет так:

будет много раз, когда вы не хотите, чтобы ссылка прыгала, поэтому вы можете сделать два вещи:

теперь он никуда не денется при нажатии, но это может привести к тому, что страница повторно центрируется из текущего окна просмотра. Это не очень красиво. Каков наилучший способ предоставить встроенный javascript, используя HREF, но без необходимости делать что-либо из вышеперечисленного? JavaScript: void (0);

это говорит браузеру никуда не идти, но вместо этого выполнить допустимый JavaScript: void( 0); функция сначала в теге HREF, потому что он не содержит пробелов и не будет анализируется как URL. Вместо этого он будет запущен компилятором. VOID-это ключевое слово, которое при поставке С пераметром 0 возвращает UNDEFINED, которое не использует больше ресурсов для обработки возвращаемого значения, которое возникло бы без указания 0 (это более удобно для управления памятью/производительности).

Источник

Что означает «javascript: void (0)»?

Я видел такое href много раз, но я не знаю, что именно это значит.

В дополнение к техническому ответу, javascript:void означает, что автор делает Doing It Wrong.

Нет веской причины использовать javascript: псевдо-URL (*). На практике это может привести к путанице или ошибкам, если кто-нибудь попробует что-то вроде «ссылка на закладку», «открыть ссылку в новой вкладке» и так далее. Это происходит довольно часто, теперь люди привыкли к нажатию средней кнопкой мыши для новой вкладки: она выглядит как ссылка, вы хотите прочитать ее на новой вкладке, но она вовсе не является реальной ссылкой, и дает нежелательные результаты, такие как пустая страница или ошибка JS при щелчке средней кнопкой мыши.

В некоторых случаях может быть полезное место, на которое можно указать ссылку. Например, если у вас есть элемент управления, который вы можете нажать, чтобы открыть ранее скрытый элемент

Недостатком этого является то, что вы теряете контроль над клавиатурой, так как вы не можете переключаться на span / div / bare-a или активировать его с пробелом. Является ли это на самом деле недостатком, зависит от того, какое действие должен предпринять элемент. Вы можете, с некоторым усилием, попытаться имитировать взаимодействие с клавиатурой, добавив элемент tabIndex к элементу и прослушивая нажатие клавиши пробела. Но он никогда не будет на 100% воспроизводить реальное поведение браузера, не в последнюю очередь потому, что разные браузеры могут по-разному реагировать на клавиатуру (не говоря уже о невизуальных браузерах).

Если вы действительно хотите элемент, который не является ссылкой, но который можно активировать обычным способом с помощью мыши или клавиатуры, то вам нужен (или он так же хорош для простого текстового содержимого). Вы всегда можете использовать CSS, чтобы изменить его стиль, чтобы он выглядел скорее как ссылка, чем кнопка, если хотите. Но так как он ведет себя как кнопка, именно так вы и должны его пометить.

Источник

Как исправить javascript: void (0) в Windows 10?

Javascript Void 0 – это распространенная ошибка, возникающая при попытке пользователей получить доступ к определенным веб-страницам. Хотя это не является серьезной или критической проблемой, по-прежнему довольно раздражает, что заблокировать доступ к веб-сайтам без реальной причины.

Поскольку вы можете столкнуться с этой проблемой независимо от того, какой веб-браузер вы используете, очень важно найти идеальное решение. В этой статье мы попытаемся сделать именно это: исправить ошибку JavaScript Void 0 в Windows 10.

Что такое JavaScript void (0)?

Как вы уже можете сказать, эта проблема связана с программным обеспечением Java, установленным на вашем устройстве. Javascript используется веб-браузерами для правильного отображения онлайн-контента.

Таким образом, когда что-то не так с этим программным обеспечением, вы не можете получить доступ к определенному контенту или даже к реальной веб-странице.

Поэтому важно решить проблему как можно скорее, и вот решения для устранения неполадок, которые могут быть применены в этом отношении.

Решения для исправления ошибок javascript: void (0)

Решение 1. Убедитесь, что Java установлена ​​правильно

Прежде всего, вы должны убедиться, что Java установлена ​​на вашем компьютере. Так:

Решение 2. Включите Java в вашем браузере

Вам необходимо включить Java в вашем браузере; теперь, в зависимости от вашего любимого браузера, эта опция может отличаться, как показано ниже:

Для Google Chrome:

Решение 3 – Перезагрузите веб-страницу и очистите кеш

Если проблема только временная, вы можете устранить ошибку JavaScript Void 0, перезагрузив веб-страницу, минуя кеш.

Этого можно достичь, нажав горячие клавиши CTRL + F5 на клавиатуре. Кроме того, вы также должны очистить кэш в вашем браузере, прежде чем пытаться получить доступ к вашим любимым веб-страницам.

Решение 4 – Удалить куки

Файлы cookie предназначены для оптимизации вашего просмотра. Однако это также может быть причиной, по которой вы получаете ошибку JavaScript Void 0 при попытке доступа к определенным веб-сайтам.

Таким образом, вы можете исправить эту неисправность, удалив куки.

Вот как вы можете выполнить эту задачу для разных веб-браузеров:

Решение 5. Очистите кеш

Если проблема не устранена, очистка кэша браузера может помочь вам ее исправить. Перейдите на страницу настроек вашего браузера и найдите опцию, которая позволяет очистить данные браузера. Найдите опцию кеша и удалите все хранилище информации кеша в вашем браузере.

Надеюсь, теперь вы можете просматривать Интернет без каких-либо дополнительных проблем. Следующие шаги должны были помочь вам исправить ошибку Javascipt Void 0.

Если у вас есть дополнительные вопросы или вы не правильно поняли некоторые шаги, перечисленные в этом руководстве, не стесняйтесь и свяжитесь с нами, используя поле для комментариев внизу. Мы всегда здесь, чтобы помочь вам с лучшими советами и хитростями Windows.

Источник

Что означает «javascript: void (0)»?

Я видел таких href много раз, но я не знаю, что именно это значит.

15 ответов

Оператор void часто используется просто чтобы получить undefined примитив значение, обычно используя » void(0) » (который эквивалентно » void 0 «). В этих случаях, глобальная переменная undefined может использоваться вместо (при условии, что не был назначен не по умолчанию ценность).

JavaScript: URL-адреса в стороне; здесь void может быть полезен для написания более короткого кода.

Ссылка должна иметь цель HREF, которая должна быть указана, чтобы она могла использоваться в качестве экранного объекта.

Большинство браузеров не будут анализировать расширенный JavaScript в

Поскольку тег HREF в большинстве браузеров не допускает пробелов или преобразует пробелы в% 20, HEX равнозначен пробелу, что делает ваш JavaScript абсолютно бесполезным для интерпретатора.

Это прекрасно работает, но заставляет страницу переходить наверх, потому что знак решетки / хеш-код указывает на это.

Простое указание знака фунта / хеш-тега в теге HREF фактически указывает корневой якорь, который всегда, по умолчанию в верхней части страницы, позволяет указать другое местоположение, указав атрибут NAME внутри тега A HREF.

Затем вы можете изменить свой тег A HREF, чтобы перейти на «middleofpage» и выполнить JavaScript в событии OnClick, как только это произойдет так:

Будет много раз, когда вы не хотите, чтобы эта ссылка перепрыгивала, поэтому вы можете сделать две вещи:

Теперь при щелчке он никуда не денется, но это может привести к тому, что страница перецентрируется из текущего окна просмотра. Это не красиво. Каков наилучший способ предоставить встроенный JavaScript, используя A HREF, но без необходимости делать что-либо из вышеперечисленного? JavaScript : недействительным ( 0 ) ;

Следующим, что происходит, является выполнение OnClick. Страница не перемещается, ничего не происходит для отображения.

Оператор void оценивает данное выражение и возвращает неопределенное значение. Это позволяет избежать обновления страницы.

Чтобы понять эту концепцию, сначала нужно понять оператор void в JavaScript.

Если вы реализуете void как функцию, это выглядит следующим образом:

В некоторых ситуациях важно возвращать undefined, а не результат выражения. Тогда пустота может быть использована, чтобы отбросить этот результат. Одна из таких ситуаций связана с javascript: URL, которые следует избегать для ссылок, но полезны для букмарклетов. Когда вы посещаете один из этих URL-адресов, многие браузеры заменяют текущий документ результатом оценки «содержимого» URL-адресов, но только если результат не определен. Следовательно, если вы хотите открыть новое окно без изменения текущего отображаемого содержимого, вы можете сделать следующее:

Использование javascript:void(0) означает, что автор HTML неправильно использует элемент привязки вместо элемента кнопки.

Якорные теги часто используются с событием onclick для создания псевдо-кнопки, установив href в «#» или «javascript: void (0)» для предотвратить обновление страницы. Эти значения вызывают неожиданные поведение при копировании / перетаскивании ссылок, открытии ссылок в новом вкладки / окна, закладки, и когда JavaScript все еще загружается, ошибки, или отключен. Это также передает неверную семантику вспомогательные технологии (например, программы чтения с экрана). В этих случаях это рекомендуется использовать вместо этого. В общем, вы должны использовать только якорь для навигации, используя правильный URL.

Веб-браузеры будут пытаться взять все, что используется в качестве URL-адреса, и загрузить его, если только это не функция JavaScript, которая возвращает ноль. Например, если мы нажмем на такую ссылку:

Важно отметить, что оператор void должен иметь значение и не может использоваться сам по себе. Мы должны использовать это так:

Стоит отметить, что вы иногда будете видеть void 0 при проверке неопределенности, просто потому, что для этого требуется меньше символов.

По этой причине некоторые методы минимизации заменяют неопределенное на void 0.

Да, это ужасное и незначительное преступление против человечества, но опять же, так же как и Internet Explorer 6 в целом.

Надеюсь, это поможет.

Internet Explorer 6 на самом деле является серьезным преступлением против человечества.

Существует огромная разница в поведении «#» по сравнению с javascript: void

«#» прокручивает вас в верхнюю часть страницы, в то время как «javascript: void (0);» не.

Это очень важно, если вы кодируете динамические страницы. пользователь не хочет возвращаться наверх только потому, что он нажал на ссылку на странице.

Это означает, что это ничего не сделает. Это попытка сделать так, чтобы ссылка нигде не перемещалась. Но это не правильный путь.

Однако, чтобы сделать ваш веб-сайт совершенно потрясающим, обычно вы добавляете ссылку, которая выполняет то же действие, если человек, просматривающий его, решает не запускать JavaScript.

В дополнение к техническому ответу javascript:void означает, что автор делает неправильно.

Нет веских причин использовать javascript: псевдо-URL (*). На практике это может привести к путанице или ошибкам, если кто-нибудь попробует что-то вроде «ссылка на закладку», «открыть ссылку в новой вкладке» и т. Д. Это случается довольно часто, теперь люди привыкли к нажатию средней кнопкой мыши для новой вкладки: она выглядит как ссылка, вы хотите прочитать ее на новой вкладке, но она вовсе не является реальной ссылкой, и дает нежелательные результаты, такие как пустая страница или ошибка JS при нажатии средней кнопкой мыши.

В некоторых случаях может быть полезное место, на которое можно указать ссылку. Например, если у вас есть элемент управления, который вы можете щелкнуть, чтобы открыть ранее скрытый

Недостатком этого является то, что вы теряете управление с клавиатуры, поскольку вы не можете использовать табуляцию для span / div / bare-a или активировать ее с пробелом. Является ли это на самом деле недостатком, зависит от того, какое действие должен предпринять элемент. Вы можете, с некоторым усилием, попытаться имитировать взаимодействие с клавиатурой, добавив tabIndex к элементу и прослушивая нажатие клавиши пробела. Но он никогда не будет на 100% воспроизводить реальное поведение браузера, не в последнюю очередь потому, что разные браузеры могут по-разному реагировать на клавиатуру (не говоря уже о невизуальных браузерах).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *