Можно ли использовать target = "_ blank" в HTML5?

Я помню, как где-то читал, что в HTML5 было уже невозможно использовать target="_blank" в HTML5, но я не могу найти его сейчас.

Можно ли продолжать использовать target="_blank"?

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

Ответ 1

Похоже, что target="_blank" все еще в порядке. Он указан как ключевое слово контекста просмотра в последний проект HTML5.

Ответ 2

Можно использовать target="_blank"; Это было устранено в XHTML, потому что таргетинг на новые окна всегда будет вызывать всплывающее предупреждение в большинстве браузеров. XHTML всегда будет показывать ошибку с атрибутом target в подтверждении.

HTML 5 вернул его, потому что мы все еще используем его. Это наш друг, и мы не можем отпустить.

Никогда не отпускай.

Ответ 3

Хотя target="_blank" приемлемый в HTML5, я лично стараюсь никогда не использовать его (даже для открытия PDF файлов в новом окне).

HTML должен определять значение и содержание. Спросите себя: "изменилось бы значение элемента a, если атрибут target был удален?" Если нет, код не должен идти в HTML. (На самом деле я удивлен, что W3C сохранил его... Я думаю, они действительно просто не могут отпустить.)

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

Говоря, , ни один из них не является правильным ответом. Где-то там существует мнение, что, как открывается ссылка, конечный пользователь должен решить конечный пользователь. Возьмите этот пример. p >

Youre surfing Wikipedia, все глубже и глубже проникая в кроличью нору. Вы видите ссылку в своем чтении.

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

Дело в том, что у вас есть собственный рабочий процесс, и вы, как и ваш браузер, должны вести себя соответственно. Вы могли бы получить довольно разочарование, если бы приняли такие решения для вас.

Сказав это, веб-разработчики должны четко указать, куда идут ссылки, какие типы и/или форматы источников они ссылаются, и что они делают. Подсказки могут быть вашим другом (если вы не используете планшет или телефон, в этом случае укажите их на мобильном сайте). Мы все знаем, сколько это отстой, чтобы быть взятым где-то, чего мы не ожидали или не сделали что-то, что мы не хотели.

Ответ 4

это самым простым способом открыть новое окно для чего-то вроде PDF

Это также самый простой способ раздражать пользователей, не относящихся к Windows. PDF открываются в браузерах на других платформах. Открытие нового окна также испортило историю навигации и усложняет работу на небольших платформах, таких как смартфоны.

НЕ открывайте новые окна для таких вещей, как PDF, только потому, что были повреждены старые версии Windows.

Ответ 5

Хотя цель по-прежнему приемлема в HTML5, она не является предпочтительной. Для ссылки на файл PDF используйте атрибут загрузить вместо целевого атрибута.

Вот пример:

<a href="files/invoice.pdf" download>Invoice</a>

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

<a href="files/j24oHPqJiUR2ftK0oeNH.pdf" download="invoice.pdf">Invoice</a>

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

Ответ 7

Большинство веб-разработчиков используют target="_blank" только для открытия ссылок на новой вкладке. Если вы используете target="_blank" только для открытия ссылок на новой вкладке, тогда он уязвим для злоумышленника. Когда вы открываете ссылку на новой вкладке (target="_blank"), страница, открывающаяся на новой вкладке, может получить доступ к начальной вкладке и изменить ее местоположение с помощью свойства window.opener.

Код Javascript:

window.opener.location.replace(malicious URL)

Профилактика:

rel="nofollow noopener noreferrer"