Сделайте так, чтобы тег открывал два URL-адреса (на двух разных страницах)

#javascript #html #anchor

#javascript #HTML #привязка

Вопрос:

Я хотел, чтобы тег открывал два URL-адреса одновременно. Это то, что я пробовал:

Только HTML

 <a href="URL1" target="_blank" onclick="window.open('URL2');">text</a>
 

Это сработало, но не так, как я хотел. При нажатии на него будет открываться URL2, а при открытии на новой вкладке с помощью щелчка правой кнопкой мыши или колесика мыши откроется URL1. Я хочу, чтобы он открывал обе страницы в новых вкладках одновременно.

HTML JavaScript HTML:

 <a id="myId">text</a>
 

JS:

 myId.onclick = function(){
open('https://www.example1.com');
location.href = ('https://www.example2.com');
}
 

Это вообще не сработало.

Комментарии:

1. Я думаю, что в самом браузере может быть что-то, что предотвращает это? — Я только что попробовал <a href="https://google.com" onclick="window.open('https://bing.com')" target="_blank">HTML JavaScript HTML:</a> , и это работает?

2. Работает в Safari, а не в Chrome. jsfiddle.net/njxz26us/3/show

Ответ №1:

Это ваш код :

      myId.onclick = function(){
        open('https://www.example1.com');
        location.href = ('https://www.example2.com',,'_blank');
      }
 

Измените код на:

     myId.onclick = function(){ 
      window.open('https://www.example1.com','_blank');  //just use window.open() for both the cases;
      window.open('https://www.example2.com','_blank');
    }
 

Надеюсь, у вас есть решение вашей проблемы.

Комментарии:

1. О, тогда учебник, из которого я его видел, должно быть, устарел. В любом случае, я знаю, что таким образом откроется 1 новая вкладка, а второй URL-адрес будет открыт в текущей. Есть ли способ сделать так, чтобы оба URL-адреса открывались на двух разных вкладках?

2. @Hilex23 просто используйте необязательный параметр для новой вкладки: window.open('https://www.example1.com', '_blank'); вместо этого.

3. Однако есть проблема: веб-сайт не распознает тег <a>, если в нем нет атрибута href . Поэтому, когда я нажимаю на него, это похоже на щелчок обычного текста, я не знаю, как это исправить.

4. @Hilex23, это работает, даже если нет атрибута href .

5. Это должно быть, но не для меня. Это должно выглядеть так: ibb.co/8mvGXNW Но на самом деле это выглядит так: ibb.co/BqfQctY Конечно, я могу изменить цвет, добавив класс, но он ни на что не перенаправляется.

Ответ №2:

Согласно вашему требованию, я бы предложил следующее. Также посмотрите на скрипку ЗДЕСЬ

 <a href="#" id="myId">Open Two URLs</a>

var myId = document.getElementById("myId");
myId.onclick=function(){
  window.open("https://www.google.com","_blank");
  window.open("https://www.microsoft.com","_blank");
}
 

Вы должны разрешить БЛОКИРОВЩИКУ ВСПЛЫВАЮЩИХ ОКОН вашего браузера разрешать открытие нескольких страниц / вкладок, чтобы это работало.

Ответ №3:

Попробуйте использовать функцию onclick, которая используется window.open для открытия двух URL-адресов:

 document.querySelector("#foo").onclick = function () {
  window.open("https://www.example.com", "_blank");
  window.open("https://www.example.com", "_blank");
};
 
 
<a id="foo">bar</a>