可以保持Chrome弹出窗口打开吗?

时间:2019-06-23 16:47:31

标签: javascript google-chrome-extension google-chrome-devtools content-script

我正在开发chrome扩展程序,并且某些功能允许用户单击按钮以选择当前页面上的元素(就像开发工具中的悬停功能一样)。但是,它唯一起作用的方法是用户单击页面,该页面又隐藏了扩展名。有没有办法在具有相同功能的同时使扩展弹出窗口保持启用状态?我可以考虑其他解决方法,例如将弹出式UI注入当前页面的DOM中,但如果可能的话,我希望将其放在弹出式窗口中。

这是流程:

popup.js

let selectElem = document.getElementById('select_element_button');
  selectElem.addEventListener("click", function(){
    chrome.runtime.sendMessage("hello");
  });

background.js

chrome.runtime.onMessage.addListener(function (message, sender, sendResponse) {
    console.log(message + "from bg");
    if(message == "hello"){
        chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
            chrome.tabs.sendMessage(tabs[0].id,"toContent");  
        });
    }
});

content.js

chrome.runtime.onMessage.addListener(function (message, sender, sendResponse) {
    if(message == "toContent"){
        document.addEventListener("mouseover", (event) => {
            event.target.style.backgroundColor = "rgba(121, 204, 255, 0.4)";
        });
        document.addEventListener("mouseout", (out) => {
            out.target.style.backgroundColor = "";
        });
    }
});

0 个答案:

没有答案
相关问题