В моём расширении Chrome не работает открытие ссылок страницы с кнопки, как исправить?

Сделал расширение, при нажатии всплывает pop-up с кнопкой и при нажатии на кнопку, открываются все ссылки с определенным классом, которые есть на этой странице. Проблема в том, что расширение не работает со страницей, то есть не открывает ссылки с неё, а открывает ссылки только внутри себя (с файла popup.html).

Вот разметка popup.html

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Index</title>
  <script src="popup.js"></script>
</head>

<body>
  <button id="btnScreens">Open Screens</button>
</body>

</html>


Вот popup.js

document.addEventListener('DOMContentLoaded', function() {
  let openScreensBtn = document.getElementById('btnScreens');
  openScreensBtn.addEventListener('click', function() {
    let links = document.querySelectorAll('.link');
    let arrLinks = Array.from(links);
    let arrHref = [];
    for (let i = 0; i < arrLinks.length; i++) {
      arrHref.push(arrLinks[i].getAttribute('href'));
    };
    for (let i = 0; i < arrHref.length; i++) {
      window.open(arrHref[i], '_blank');
    };
  });
});


Вот manifest.json
{
    "name": "Ext",
    "description" : "",
    "version": "1.0",
    "manifest_version": 2,

    "browser_action": {
        "default_icon": "128.png",
        "default_popup": "popup.html"
    },

    "permissions": [
        "activeTab"
    ]
}


Что я делаю не так? Сам скрипт вне расширения работает
  • Вопрос задан
  • 893 просмотра
Решения вопроса 1
RAX7
@RAX7
popup.js не взаимодействует со страницей браузера, он работает только с popup.html. Вставляй код на страницу примерно как описано тут: https://gist.github.com/danharper/8364399
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы