现在我正在创建Chrome扩展程序。为此,我需要使用Google的Calendar Data API。这里是我的manifest.json文件:Chrome扩展程序和加载外部Google API Uncaught ReferenceError
{
"name": "Test",
"version": "1.0",
"background_page": "background.html",
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["jquery.js", "content_script.js"]
}
],
"permissions": [
"tabs", "http://*/*"
]
}
我试着加入以下清单文件的JS部分但加载扩展时抛出一个错误。
http://www.google.com/jsapi?key=keyhere
我也尝试添加
document.write('<script type="text/javascript" src="http://www.google.com/jsapi?key=keyhere"></script>');
我background.html文件。然而,每当我打电话
google.load("gdata", "1");
我得到一个错误,说未捕获的ReferenceError:谷歌没有定义。为什么我的扩展不加载这个API时,加载其他的罚款?
我试着在普通的背景页面中添加它,但那也行不通。我在content_scripts中需要它,但我认为在background.html中加载它会自动允许我在content_scripts中使用它。 – joshholat 2010-10-16 16:06:11
@joshholat背景页面几乎就是普通页面,没有任何限制。如果它不起作用,那么问题出在代码中。把你的背景页面放到web服务器的根目录下,然后在浏览器中打开它 - 我敢打赌它不会在那里工作。 – serg 2010-10-16 16:10:18
将api js放入后台页面并不会自动将其加载到内容脚本中,它们是完全隔离的。为了在它们之间进行通信,您需要来回发送请求。 – serg 2010-10-16 16:13:15