2013-09-24 75 views
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" 
    } 
    ] 
} 

回答

1

你需要列出你想在你的清单中包含web_accessible_resources部分载入的文件。

+0

非常感谢。我老实说花了几个小时来搜索,阅读和试验,我从来没有看到这方面的参考。希望这对未来的人有用。 – Geuis

相关问题