Javascript открытие нескольких вкладок в расширении Chrome - PullRequest
0 голосов
/ 18 сентября 2018

Я делаю расширение Chrome, и у меня есть несколько кнопок, которые открывают разные вкладки. К сожалению, по какой-то причине, когда я нажимаю кнопку Seqta, она открывает вкладку 3 раза, а с книгой по математике - дважды. Я не уверен, что не так, но я поместил HTML и JavaScript ниже.

HTML

<!DOCTYPE html>
<html>
<head>


<style>


body{
  background-color: #263238;
  width: 300px;
  height: 500px;
}

</style>
</head>
<body>
  <div id="buttons">
    <div id="buttonDivSEQTA">
      <button type="button" class="button" id="seqta" >Seqta</button>
      <script src="popup.js"></script>
    </div>
    <div id="buttonDivMATH">
      <button type="button" class="button" id="maths">Maths Textbook</button>
      <script src="popup.js"></script>
    </div>
    <div id="buttonDivHASS">
      <button type="button" class="button" id="hass">HASS Textbook</button>
      <script src="popup.js"></script>
    </div>
  </div>
</body>
</html>

Javascript

var button = document.getElementById("seqta");
button.addEventListener("click", function(){
    chrome.tabs.create({url:"https://learn.bcgs.wa.edu.au"});
});
var button = document.getElementById("maths");
button.addEventListener("click", function(){
    chrome.tabs.create({url:"https://jacplus.com.au"});
});
var button = document.getElementById("hass");
button.addEventListener("click", function(){
    chrome.tabs.create({url:"http://www.pearsonplaces.com.au/User_Login.aspx"});
});

Было бы здорово, если бы кто-то мог мне помочь

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Как говорят другие, у вас есть сценарий, который трижды вызывается.

Вам необходимо удалить их обоих и переместить вызов в <head> -секцию с тем, что там находится. Это наиболее распространенный вариант, и тогда вы точно знаете, где находятся ваши сценарии, и вам не нужно искать сценарий на всей вашей странице.

Например:

<head>
   <script src="popup.js"></script>
</head>

Для справки:

JavaScript в <head> или <body>

Вы можете разместить любое количество скриптов в HTML-документе. Скрипты могут быть размещены в <body>, или в разделе <head> HTML-страницы, или в обоих.

W3Schools


Для тех, кто заинтересован, существует давняя дискуссия о том, где разместить скрипты jQuery / JavaScript - читайте здесь

0 голосов
/ 18 сентября 2018

Вы ввели вызов сценария mutliple, удалите <script src="popup.js"></script> из тела и поместите его прямо перед.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...