До сегодняшнего дня мне интересно, почему target="_blank"
не стало target="blank"
. Я уверен, что браузеры также могут это понять.
Существуют ли какие-либо исторические или технические причины для этого решения / спецификации?
До сегодняшнего дня мне интересно, почему target="_blank"
не стало target="blank"
. Я уверен, что браузеры также могут это понять.
Существуют ли какие-либо исторические или технические причины для этого решения / спецификации?
Ответы:
Если вы должны были использовать target="blank"
вашу ссылку будет открываться в новом окне / окне. Тем не менее, есть небольшая разница. Повторное нажатие на ссылку приведет к повторному использованию окна, которое было открыто в первый раз, вместо открытия нового.
Это потому, что target
атрибут может быть использован не только для открытия нового окна. Он имеет четыре встроенных значения, но также позволяет вам указать свою цель. Если вы посмотрите на соответствующую страницу W3 Schools, она показывает следующие опции:
_blank
Открывает связанный документ в новом окне или вкладке_self
Открывает связанный документ в том же фрейме, в котором он был нажат (по умолчанию)_parent
Открывает связанный документ в родительском фрейме_top
Открывает связанный документ в полном теле окна<framename>
Открывает связанный документ в именованном фреймеМногое из этого не имеет смысла, если вы не понимаете немного о фреймах HTML. Использование HTML- <frameset>
тега позволяет разбить окно браузера на отдельные разделы (фреймы), каждый со своей страницей. Задавая имя фрейма и используя target
атрибут в ссылках, можно контролировать, какой фрейм должен отображать соответствующий контент.
Но есть некоторые дополнительные правила для целевого атрибута, которые должны применять браузеры:
target="blank"
работает так, как работает.По сути, нет причин менять текущее соглашение, поскольку _blank
это особый случай. Исходный тип фреймов может больше не использоваться, но есть другие случаи, когда вы можете иметь именованные объекты, с которыми работает целевой атрибут, например, фреймы, которые представляют собой отдельные фреймы, встроенные непосредственно в страницу. Изменение стандарта сломало бы многие существующие страницы без какой-либо выгоды.
target="_blank"
атрибут не понадобился, но вместо этого мы могли бы просто добавить в URL знак, например, звездочку <a href="*https://www.stackoverflow.com">Stackoverflow</a>
. Это сэкономило бы столько печатания :)
target
концепция, хотя и разрешенная в HTML 5, в целом считается устаревшей. w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web (в7 Frames and popups — just say no
разделе)