首页 文章

Chrome扩展程序:获取当前标签网址

提问于
浏览
0

我正在尝试在Chrome扩展程序中获取当前标签网址 . 所有消息来源都说我需要“chrome.tabs.query({active:true;})”真相是,chrome.tabs.query只能在后台执行,而后台活动标签总是只有“chrome:/ /扩展” .

有没有办法获得ACTUAL活动标签的网址?

1 回答

  • 0

    找到解决方案

    正如我之前提到的,“chrome.tabs.query({active:true;})”只能从background.js运行,而background.js的活动选项卡总是浏览器的扩展页面,所以它没用 .

    根据安全政策,我们需要浪费大量PC的资源,并做这样的事情: client.js:

    function getcururl(){   
    
    var s = document.createElement('script');
    // TODO: add "script.js" to web_accessible_resources in manifest.json
    s.src = chrome.extension.getURL('gturl.js');
    s.onload = function() {
    
        window.postMessage({ type: "gtcrurl", value: cururl }, "*");
        this.remove();
    };
    (document.head || document.documentElement).appendChild(s);}
    document.addEventListener('DOMContentLoaded', getcururl());
    

    gturl.js:

    var cururl = window.location.host;
    

    现在我们可以在_1357972中做类似的事情:

    var crurl = "empty"; 
    window.addEventListener("message", function(event) {
    if(event.data.type === 'gtcrurl') {
        window._test = event.data.value;
        console.log(event.data.value);
        crurl = event.data.value;
    }}, false);
    

相关问题