Как получить доступ к расширению HTML-элементов из chrome.runtime.onMessageExternal.addListener? - PullRequest
0 голосов
/ 03 июня 2019

Я подключил веб-страницу с расширением Chrome.Сбор ответа в background.js.Вот мой код:

manifest.json

{
  "manifest_version": 2,

  "name": "CIC Wallet",
  "description": "The CIC Wallet in your browser",
  "version": "1.0",

  "browser_action": {
   "default_icon": "Image/CI_logo-01.png",
   "default_popup": "popup.html"
  },
  "icons": { "16": "Image/CI_logo-01.png",
    "48": "Image/CI_logo-01.png",
   "128": "Image/CI_logo-01.png" 
  },
  "background":{
    "scripts": ["background.js"]
  },
  "externally_connectable": {
    "matches": ["http://127.0.0.1:5500/main.html"]
  },
  "web_accessible_resources": [
    "popup.js", "background.js"
    ],
  "permissions": [
   "activeTab"
   ]
}

background.js

chrome.runtime.onMessageExternal.addListener(function(request, sender, sendResponse) {
    console.log('from webpage');
    window.open("popup.html", "CIC Notification", "width=357,height=600,status=no,scrollbars=yes,resizable=no");
    document.getElementById("sendtrform").style.display="block";
});

main.js

window.addEventListener('load', function load(event){

  var createButton = document.getElementById('btn_buy_trust');
  createButton.addEventListener('click', function() { 
    var laserExtensionId = "myextID";
    chrome.runtime.sendMessage(laserExtensionId, 'Hi from Webpage',
    function(response) {

    });
  });
});

main.jsэто файл js с моей веб-страницы, при нажатии кнопки я отправляю сообщение.В background.js я собираю ответ и открываю свой HTML-файл расширения в отдельном окне.Здесь, в background.js, я не могу получить доступ к элементам HTML из файла popup.html.Я получаю сообщение об ошибке для этой строки:

document.getElementById("sendtrform").style.display="block";

Может кто-нибудь помочь мне, как я могу получить доступ к элементам HTML из background.js?

...