Политика безопасности контента дополнения Firefox: настройки страницы заблокировали загрузку ресурса во встроенном («script-src»)

Я пытаюсь создать веб-расширение для Firefox. Все работало нормально, но теперь я застрял в том, чтобы добавить кнопку и сделать ее кликабельной. Я получаю следующую ошибку: Политика безопасности содержимого: настройки страницы заблокировали загрузку ресурса во встроенном («script-src»). Я не знаю, что делаю не так. Я уже пробовал следующее:

  • Создание элемента сценария в файле HTML и запись в него кода.
  • Создание внешнего javascript и добавление его в HTML-документ.

HTML:

      <!DOCTYPE html>
<html lang="en" dir="ltr">
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="style.css"/>
    </head>
    <body>
        <script src="new_tab.js"></script>
        <div id="container">
            <div id="song-data">
                <input class="input" id="artist" type="text" placeholder="Artist" autofocus>
                <input class="input" id="title" type="text" placeholder="Title">
                <input class="input" id="album" type="text" placeholder="Album">
                <button class="submit-button" id="button_1" type="button" title="Submit" onclick="test()">Download</button>
            </div>
        </div>
    </body>
</html>

Javascript:

      function test() {
  console.log("Test")
}

Хорошо, спасибо за вашу помощь. Я нашел решение, но столкнулся с другой проблемой: теперь у меня есть функция с другими переменными. Поскольку я не запускаю сценарий в основном документе, мне нужно получить URL-адрес активного окна с помощью API вкладок. Но теперь я не знаю, как объявить URL-адрес переменной, чтобы использовать ее вне запроса. Я хочу использовать URL-адрес, по которому я пытаюсь его зарегистрировать. Я уже пытался объявить его вне запроса, а затем установить внутри запроса, но тогда он не определен.

      document.addEventListener("click", (e) => {
  if(e.target.id === "button_1") {
    let artist = document.getElementById("artist").value;
    let title = document.getElementById("title").value;
    let album = document.getElementById("album").value;
    browser.tabs.query({active:true,currentWindow:true}).then(function(tabs){
      url = tabs[0].url;
    });
    console.log(url);
  }
});

0 ответов

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