我最近将appname.appcache内容设置为:CACHE MANIFEST
# 2010-02-10 v1
CACHE:
index.html
test1.html
test2.html
# many more project root html files
#stylesheets
css/main.css
css/normalize.css
css/themes2/jquery.mobile-1.0.min.css
#gameMessages
some-folder/name.html
#many more like this
#js
js/vendor/jquery.mobile-1.0.1.min.js
# a few more files
现在我导航到i ndex.html I get an error in google-chrome:
Failed to load resource: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. file:///home/username/Desktop/project-name/test1.html
XMLHttpRequest cannot load file:///home/user-name/Desktop/project-name/test1.html. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
在phonegap的config.xml
文件中:
<access origin="*"/>
这样可以解决在真实移动设备上运行时的问题。为什么我只是在Chrome上收到此错误。在Firefox上,它可以通过请求存储文件的权限来运行。
appCache
是否可以提高使用phonegap?
构建的应用的效果。硬件上已有的缓存资源是否可以加快速度?我知道缓存上的内容比HD上的内容处理起来非常快。因此,在这种情况下使用appCache工具。
答案 0 :(得分:0)
我也遇到了同样的错误,但在我的情况下,这是因为我在http上运行我的文件并且缓存了https上的资源,因此不在同一个源上。 如果你有这样的问题,你可以调查一下。
答案 1 :(得分:0)
不是真正的答案,但感谢你指出我正确的方向来解决我自己的问题。 (发布在这里,万一它有助于有类似问题的人 - 我尝试添加一个评论,但文字太长)
我一直在为我正在构建的应用的网络版使用缓存清单,但没有将其视为PhoneGap版本。当你问&#34; appCache能否改善使用phonegap构建的应用程序的性能?&#34;至少对我来说,响亮的答案是一个很大的答案。
我使用magnificPopup加载ajax类型的弹出窗口,一切正常(即使手机/设备处于脱机状态),弹出内容包括RoyalSlider图库时 - 这些都成功加载了ajax内容(我可以告诉感谢magnificPopup非常有用的ajax回调)但是他们不会继续将它添加到DOM中。我仍然不知道为什么会这样,我猜这个问题是在RoyalSlider的代码中的某个地方,也许正在寻找它认为在线的资源?但无论如何,实现缓存清单已经完全解决了我的问题。谢谢。