JavaScript和Chrome扩展:传递变量

问题描述

manifest.json

{
    "name": "Omegle IP","version": "0.5","options_page": "options.html","options_ui": {
    "page": "options.html","open_in_tab": false
    },"background": {
    "scripts": ["background.js"],"persistent": true
    },"manifest_version": 2,"description": "Become a Hacker; You see the IP in the chat window","permissions": ["tabs","https://*.omegle.com/*","storage"],"web_accessible_resources": ["inject.js"],"content_scripts" : [{
        "matches" : ["https://*.omegle.com/*"],"run_at": "document_end","js" : ["contentscript.js"]
    }],"icons": {
        "16": "16.png","32": "32.png","48": "48.png","128": "128.png"
    }
}

contentscript.js

var s = document.createElement('script');
// Todo: add "script.js" to web_accessible_resources in manifest.json
s.src = chrome.runtime.getURL('inject.js');
s.onload = function() {
    this.remove();
};
(document.head || document.documentElement).appendChild(s);

inject.js

chrome.storage.sync.get(['tracker','api'],function (obj) {
        tracker = obj.tracker;
        api = obj.api;
        getIp(tracker,api);
    });

function getIp(tracker,api){
    console.log(tracker + api)
}

我无法从inject.js访问chrome.storage.sync.get。但是我需要...有没有办法将chrome请求发送到contentscript并将变量传递给inject.js contentscript.js基本上只是创建一个脚本字段并将inject.js放入其中。 通常,inject.js文件较大,但您不需要所有这些文件 有一篇文章“ https://stackoverflow.com/questions/9515704/use-a-content-script-to-access-the-page-context-variables-and-functions”如何实现,我尝试但是我没有实现它的工作... 您能提供一种可行的方法来使其正常工作吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)