AppCache与PhoneGap和Jquery移动

时间:2014-02-10 16:12:10

标签: javascript jquery jquery-mobile cordova html5-appcache

我最近将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工具。

2 个答案:

答案 0 :(得分:0)

我也遇到了同样的错误,但在我的情况下,这是因为我在http上运行我的文件并且缓存了https上的资源,因此不在同一个源上。 如果你有这样的问题,你可以调查一下。

答案 1 :(得分:0)

不是真正的答案,但感谢你指出我正确的方向来解决我自己的问题。 (发布在这里,万一它有助于有类似问题的人 - 我尝试添加一个评论,但文字太长)

我一直在为我正在构建的应用的网络版使用缓存清单,但没有将其视为PhoneGap版本。当你问&#34; appCache能否改善使用phonegap构建的应用程序的性能?&#34;至少对我来说,响亮的答案是一个很大的答案。

我使用magnificPopup加载ajax类型的弹出窗口,一切正常(即使手机/设备处于脱机状态),弹出内容包括RoyalSlider图库时 - 这些都成功加载了ajax内容(我可以告诉感谢magnificPopup非常有用的ajax回调)但是他们不会继续将它添加到DOM中。我仍然不知道为什么会这样,我猜这个问题是在RoyalSlider的代码中的某个地方,也许正在寻找它认为在线的资源?但无论如何,实现缓存清单已经完全解决了我的问题。谢谢。