[英]Can't xhr file inside of Chrome extension
我正在构建扩展,并试图保持其结构良好。 它的一部分将使用某种类型的模板系统(小胡子,把手等)。 请注意,我已经意识到必须使用我所使用的库的特定非评估版本。
问题是从app.js脚本(核心逻辑)中,我无法XHR加载/ templates中文件的内容(请参见下文)。
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"
}
]
}
您需要在清单的web_accessible_resources
部分中列出要加载的文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.