0
我正在构建扩展程序,并且试图保持其结构良好。其中的一部分将使用某种类型的模板系统(小胡子,把手等)。请注意,我已经意识到必须使用一个特定的非eval版本的图书馆。不能将xhr文件添加到Chrome扩展程序中
问题是,从app.js脚本(核心逻辑)内我不能XHR加载/模板(见下文)中的文件的内容。
load事件永远不会触发,当我使用onreadystatechange进行检查时,立即跳转到状态4,状态码为0.(状态4和状态200是我们想要的)。
获取文件的Chrome网址,例如,
chrome.extension.getURL('templates/view1.html')
//chrome-extension://hdhpjlpbepobcdgnkklnakdpoojaahjg/templates/view1.html
我怀疑我的manifest.json中有些东西没有正确配置。我已经阅读了CSP文档,但是没有人会向我跳出为什么访问本地扩展名的文件应该被拒绝。请注意,XHR请求不会抛出错误,它们只是永远不会返回数据。
应用程序的结构是这样的:
/manifest.json
/src
app.js
style.css
/libs
jquery.js
mustache.js
/templates
view1.html
view2.html
的manifest.json
{
"name": "Test Extension",
"version": "0.0.1",
"manifest_version": 2,
"icons": {
// "16": "",
// "48": ""
// "128": ""
},
// "default_locale": "en",
"permissions": [
"contentSettings",
"http://*/*",
"https://*/*"
],
"content_scripts": [
{
"matches": [
"https://www.google.com/search*"
],
"css": [
"src/style.css"
],
"js": [
"src/app.js",
"libs/jquery.js",
"libs/mustache.js"
],
"run_at": "document_start"
}
]
}
非常感谢。我老实说花了几个小时来搜索,阅读和试验,我从来没有看到这方面的参考。希望这对未来的人有用。 – Geuis