有什么办法让远程JS文件扩展到Chrome扩展?在Chrome扩展中使用远程JavaScript
我的manifest.json看起来是这样的:
{
"name": "My Extension",
"version": "0.1",
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["jquery.js", "main.js"],
"run_at": "document_end",
"all_frames": true
}
]
}
我想用一个的JavaScript API,它是由在选择域名的使用限制,所以我不能它插入只是在Chrome加载页面像这样:
$('head').append('<script src="http://example.com/myApi.js?key=%key%"></script>');
因为JS API提醒我,我在URL上使用它,我没有给他们。
我想只使用这个远程JS的一些功能。 API密钥可以在本地主机上注册并使用。
但我没有任何线索,如何解决这个问题 - 在哪里把远程JS文件,以便能够使用它。
我有一个想法来创建"virtual DOM",但也许这不是一个解决方案,因为JS API代码无法执行。
在哪里可以插入代码?一些背景页面?
也许一种解决方案是插入一个iframe(托管在我的域的某处并在API中注册)页面并从这里调用JS函数?这个解决方案可以工作,但它不喜欢我的域/服务器可用性的依赖性。我想在Chrome的某些“沙箱”中执行代码(在API的视图中 - 在本地主机上)。 – 2010-07-23 19:38:20
听起来你只需在浏览器中访问'http://example.com/myApi.js?key =%key%',保存文件,将其称为'external.js',并将它放在相同的位置你有'jquery.js'和'main.js'(也可以像这样:'[“jquery.js”,“main.js”,“external.js”]')将它添加到清单中。 – Adam 2010-07-23 20:37:45