Google chrome 从本地HTML访问chrome.*API

Google chrome 从本地HTML访问chrome.*API,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我正在开发一个chrome扩展。以下是我的扩展的结构: 我定义了一个浏览器操作,点击它可以加载一个本地HTML文件default.HTML。这是我的清单文件: { "name": "Example Extension", "version": "0.1", "manifest_version": 2, "browser_action": { "default_title": "Does nothing.", "default_ico

我正在开发一个chrome扩展。以下是我的扩展的结构:

我定义了一个浏览器操作,点击它可以加载一个本地HTML文件default.HTML。这是我的清单文件:

{
    "name": "Example Extension",
    "version": "0.1",
    "manifest_version": 2,
    "browser_action": {
        "default_title": "Does nothing.",
        "default_icon": "icon.png"
    },
    "background": {
        "scripts": ["extension.js"]
    },
    "permissions": ["tabs"]
}
这是我的扩展名.js

chrome.browserAction.onClicked.addListener(function(tab) {
    var newURL = chrome.extension.getURL('default.html');
    chrome.tabs.create({ url: newURL });
});
这是我的default.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" href="jquery-1.10.2.min.js"></script>
    <script type="text/javascript" href="donothing.js"></script>
</head>
<body>
    <b>It works!</b>
</body>
</html>

它起作用了!
我想在donothing.js中访问chrome当前打开的选项卡,并在default.html中显示一些统计信息。我了解到我无法访问我的donothing.js中的chrome.*API。如果我正确理解了文档,我应该声明并定义一个,并将消息传递为donothing.js-->contentscript.js-->extension.js,反之亦然,以实现我想要的目标。有没有更简单的方法?有人能解释一下这里需要内容脚本吗


谢谢,

您所说的“访问打开的选项卡”是什么意思?你需要得到什么信息?另外,我不知道你从哪里知道你不能访问donothing.js中的chrome.*API,但这听起来并不是一个好的知识来源:)@warunsl your
default.html
不是一个“本地”页面,而是一个扩展页面。donothing.js中将提供您已请求适当权限的完整chrome.*API。