Какой javascript мне понадобится, чтобы открыть две веб-страницы одновременно и закрыть предыдущую вкладку?

Я работаю над экзаменационным проектом, где студенты нажимают на опцию, которая открывает две вкладки с разными примерами и закрывает предыдущую вкладку, но у меня нет опыта работы с Javascript, и я не знаю, как подойти к проблеме.

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

В настоящее время мы используем теги привязки в HTML и помещаем встроенный javascript, но я думаю, что нам, возможно, придется решить это по-другому, возможно, путем вызова файла javascript.

Мы хотим использовать Javascript, так как это позволит нам добавить код для отслеживания пользователей, когда они нажимают на ссылку.

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

<a href = "http://www.example.com" onclick = "window.open('https://www.example.com');return false">Example</a>

Он открывает веб-страницу в новой вкладке, но я не уверен, как открыть две новые вкладки (разные URL-адреса) и закрыть предыдущую вкладку.

(Я заметил, что есть похожие вопросы, но ни один из них не закрывает предыдущую вкладку)

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
288
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

window.open('url1.com');
window.open('url2.com');

Как сделать так, чтобы ссылка открывала несколько страниц при клике

Чтобы закрыть текущую вкладку/окно, используйте

window.close();

Как закрыть текущую вкладку в окне браузера?

Чтобы выполнить все 3 действия во встроенном обработчике событий, как в вашем примере кода, вы можете дважды вызвать window.open с разными URL-адресами, window.close(), а затем вернуть false.

Ответ принят как подходящий

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

<a href = "http://www.example.com" onclick = "myFunction()">

Затем вы определите функцию в файле JS и свяжете ее с вашим html. Что-то вроде этого:

<script src = "myscripts.js"></script>

Файл JS (в этом примере) будет называться myscripts.js и выглядеть примерно так:

function myFunction(){
  window.open('url1.com');
  window.open('url2.com');
  window.close()
}

К сожалению, вы не можете закрыть окна с помощью Window.close(), если это окно не было открыто скриптом, так что это еще одна проблема. Без дополнительной информации о том, как пользователь попадает на эту страницу, я не могу предложить обходной путь.

Спасибо! Я знал, что ответ будет простым. Как только я прочитал это, я ударил себя по лбу, ха-ха

Andrew Hill 28.05.2019 01:12

Привет, Джоррин, твой комментарий заставил меня задуматься... Что, если пользователь, открывающий ссылку, перенаправляет его на пустую страницу, которая затем открывает два окна, но закрывает предыдущее? Например: Страница 1 - Ссылка > Открывает новую вкладку (через скрипт) > открывает две вкладки (через скрипт) > Закрывает открытую вкладку? Это будет служить той же цели в отношении отслеживания и т. д., Но оставит одну вкладку открытой.

Andrew Hill 28.05.2019 16:51

Да, это звучит как подходящий обходной путь. Это не самое лучшее с точки зрения UX, поскольку оно создает атмосферу «всплывающего окна 90-х», когда ваш браузер открывает и закрывает окна (вкладки), казалось бы, сам по себе, и пользователь может не знать, почему. Это можно объяснить до того, как пользователь нажмет на элемент, который вызовет реакцию, при условии, что это не ухудшит UX.

Jorrin Bruns 28.05.2019 17:24

Другие вопросы по теме