5

我一直在使用 Require.js 和 Backbone.js 等。我一直在尝试制作一个简单的 todo 应用程序,我通过从桌面双击 index.html 并在浏览器中显示并使用它来运行它。

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

XMLHttpRequest cannot load file:///C:/bada/js/templates/headerTemplate.html. Cross origin requests are only supported for HTTP.

我知道这是因为我没有从服务器发出请求。我知道在 Chrome 中,这个错误可以通过在启动 Chrome 时使用一些参数来抑制,但我也打算在我的手机上使用这个应用程序,通过在本地运行 index.html。

有没有办法防止这个错误发生并且让应用程序正常工作?

4

2 回答 2

2

使用 Google Chrome,您可以使用标志 --allow-file-access-from-files 来执行此操作。这样它就可以访问您的本地文件系统。

我建议更改 Chrome 图标的属性并默认启用该标志。其他浏览器可能有类似的东西,但我不知道。

于 2013-01-10T07:43:20.813 回答
1

简短的回答:没有。

更长的答案:查看应用程序缓存。

在您的应用程序完成构建之前不要这样做。但是在它建成之后,如果你设置一个离线缓存并利用localStorage(如果需要),它应该可以在最受尊敬的手机/平板电脑/笔记本电脑/PC 上运行。

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

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

于 2012-11-13T08:46:40.683 回答