ajax – 在Chrome打包应用中通过XHR加载本地内容

我正在尝试加载我使用Backbone构建的Web应用程序,它会提取本地存储的JSON和HTML模板文件.我想知道Chrome打包应用程序是否可以通过使用某种’get’/ ajax请求加载这些文件

目前我正在接受这个……

OPTIONS chrome-extension://fibpcbellfjkmapljkjdlpgencmekhco/templates/templates.html Cannot make any requests from null. jquery.min.js:2
XMLHttpRequest cannot load chrome-extension://fibpcbellfjkmapljkjdlpgencmekhco/templates/templates.html. Cannot make any requests from null.

我找不到任何关于如何做到这一点的真实信息,所以任何帮助都会非常感谢!

是的,这是完全可能的,而且很容易.这是一个工作样本.尝试从此开始,确认它有效,然后在您自己的代码添加回来.如果您遇到障碍并提出一个更具体的问题,而不是XHR是否在打包应用中运行,您可能想问一个新问题.

manifest.json的:

{
  "name": "SO 15977151 for EggCup","description": "Demonstrates local XHR","manifest_version" : 2,"version" : "0.1","app" : {
    "background" : {
      "scripts" : ["background.js"]
    }
  },"permissions" : []
}

background.js:

chrome.app.runtime.onLaunched.addListener(function() {
  chrome.app.window.create("window.html",{ bounds: { width: 600,height: 400 }});
});

window.html:

<html>
<body>
  <div>The content is "<span id="content"/>"</div>
  <script src="main.js"></script>
</body>
</html>

main.js:

function requestListener() {
  document.querySelector("#content").innerHTML = this.responseText;
};

onload = function() {
  var request = new XMLHttpRequest();
  request.onload = requestListener;
  request.open("GET","content.txt",true);
  request.send();
};

content.txt:

Hello,world!

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...