Require.js模板"仅支持HTTP的交叉源请求"错误

Hir*_*esh 5 javascript requirejs backbone.js

我一直在使用Require.js和Backbone.js等.我一直在尝试创建一个简单的待办事项应用程序,我在桌面上双击index.html并在浏览器中显示并使用它.

但是,当通过Require.js获取模板时,它会给我以下错误:

XMLHttpRequest cannot load file:///C:/bada/js/templates/headerTemplate.html. Cross origin requests are only supported for HTTP.
Run Code Online (Sandbox Code Playgroud)

我知道这种情况正在发生,因为我没有从服务器那里做请求.我知道在Chrome中,可以通过在启动Chrome时使用一些参数来抑制此错误,但我还打算通过在本地运行index.html在我的手机上使用此应用.

反正有没有阻止这个错误发生,让应用程序正常工作?

Nor*_*ard 1

简短的回答:不。

更长的答案:研究应用程序缓存。

在您的应用程序构建完成之前请勿执行此操作。但在它构建之后,如果您设置离线缓存并利用localStorage(如果需要),它应该可以在大多数受人尊敬的手机/平板电脑/笔记本电脑/个人电脑上运行。

但就像我说的,在准备好按原样冻结所有文件数据之前,不要设置缓存清单。 它在缓存数据方面做得非常好,这很棒......但是如果您对任何文件进行更改,那么使缓存无效以下载最新版本,使用新内容重置缓存会变得非常痛苦...

...如果您像我一样喜欢每 5 分钟按一次 CTRL+S,只是为了安全起见... ...那么如果您想看到这些微小的变化,您就会感到头疼。

  • Require 创建一个脚本元素,并将 src 设置为 js 文件的模块。对于 HTML 模板,它使用 Ajax 来加载它们(使用 text! 插件) (3认同)
  • 顺便问一下,为什么 Require.js 加载 JavaScript 模块文件(.js 文件)没有问题,但加载 HTML 却出现问题? (2认同)