(Простое исправление) Как вставить div через контент. js Google Chrome Расширение? - PullRequest
0 голосов
/ 20 июня 2020

Я хочу создать оверлей с помощью скрипта содержимого (content. js) для моего расширения google chrome. Как мне это сделать?

Вот код, который выполняет сценарий содержимого:

chrome.webNavigation.onCommitted.addListener(function() {
chrome.windows.getCurrent(function (currentWindow) {
      chrome.tabs.query({ active: true, windowId: currentWindow.id }, function (activeTabs) {
          activeTabs.map(function (tab) {
              chrome.tabs.executeScript(tab.id, { file: 'contentScript.js', allFrames: false });
          });
      });
  });
}, {url: [{urlMatches : 'https://mail.google.com/'}]});

Вот мой contentScript. js

window.addEventListener('DOMContentLoaded', setUpOverlay, false);


function setUpOverlay(){
//Set up overlay div in here
}

1 Ответ

1 голос
/ 20 июня 2020

Лучший способ добиться того, чего вы хотите, - использовать chrome API сообщения и передать сообщение сценарию содержимого для выполнения кода, вот как это работает:

//popup.js 

chrome.tabs.query({active:true,currentWindow:true},(tabs)=>{
    chrome.tabs.sendMessage(tabs[0].id,'execoverlay',(resp)=>{
       console.log(resp.msg)
    })
})

//contentScript.js

chrome.runtime.onMessage.addListener((request,sender,sendMessage)=>{
  if(request==='execoverlay'){
   // your code goes here 

      sendMessage({msg:'recieved'})
  }
})
...