Оригінальна публікація: How to Use HTML to Open a Link in a New Tab
Вкладки чудові, чи не так? Вони дозволяють виконувати багато завдань одночасно.
Зараз вкладки настільки поширені, що коли ви натискаєте посилання, воно, ймовірно, відкриється в новій вкладці.
Якщо ви коли-небудь вдавалися в питання, як це зробити зі своїм посиланням, то ви у правильному місці.
Елемент прив’язки
Щоб створити посилання на вебсторінці, вам потрібно обернути елемент (текст, зображення тощо) в елемент прив’язки (<a>) та встановити його атрибут href як адресу, на яку ви хочете зробити посилання.
<p>Відвідайте <a href="https://www.freecodecamp.org/ukrainian">freeCodeCamp</a>.</p>Відвідайте freeCodeCamp.
Якщо ви натиснете на посилання вище, браузер відкриє посилання в поточному вікні або вкладці. Це поведінка за замовчуванням в кожному браузері.
Щоб відкрити посилання в новій вкладці, нам потрібно буде переглянути інші атрибути елемента прив’язки.
Атрибут Target
Цей атрибут каже браузеру, як відкрити посилання.
Щоб відкрити посилання в новій вкладці, просто встановіть атрибут target на _blank:
<p>Відвідайте <a href="https://www.freecodecamp.org/ukrainian" target="_blank">freeCodeCamp</a>.</p>Тепер, коли хтось клацає на посилання, воно відкривається в новій вкладці або, можливо, у новому вікні (залежно від налаштувань браузера).
Проблеми безпеки через target="_blank"
Я наполегливо рекомендую вам додавати rel="noreferrer noopener" до елемента прив’язки кожного разу, коли ви використовуєте атрибут target:
<p>Відвідайте <a href="https://www.freecodecamp.org/ukrainian" target="_blank" rel="noopener noreferrer">freeCodeCamp</a>.</p>Це призводить до наступного виводу:
Відвідайте freeCodeCamp.
Атрибут rel встановлює зв’язок між вашою сторінкою та приєднаною адресою. Значення noopener noreferrer запобігає типу фішингу, відомому як табнабінг (захоплення вкладки).
Що таке табнабінг?
Табнабінг — це експлойт, який використовує стандартну поведінку браузера з target="_blank" для отримання часткового доступу до сторінки через API window.object.
Табнабінг може спрямувати вас на підроблену сторінку. Більшості користувачів це буде важко помітити, оскільки фокус буде на вкладці, яка щойно відкрилася, а не на початковій вкладці з вашою сторінкою.
Потім людина повертається на вкладку з вашою сторінкою, натомість бачить підроблену сторінку та може ввести свої дані для входу.
Підсумки
За допомогою HTML легко відкрити посилання в новій вкладці. Вам просто потрібен елемент прив’язки (<a>) з трьома важливими атрибутами:
- Атрибут
href, встановлений на потрібну адресу - Атрибут
target, встановлений на_blank, що вказує браузеру відкривати посилання в новій вкладці/вікні, залежно від налаштувань браузера - Атрибут
rel, встановлений наnoreferrer noopener, щоб запобігти можливим зловмисним атакам
Знову ж таки, ось повний робочий приклад:
<p>Відвідайте <a href="https://www.freecodecamp.org/ukrainian" target="_blank" rel="noopener noreferrer">freeCodeCamp</a>.</p>Що призводить до такого виводу в браузері:
Відвідайте freeCodeCamp.
Ще раз дякую, що прочитали. Щасливого програмування.