html5 appcache:远程清单文件工作吗?
我们的应用程序部署到物理设备上,因此起始页index.html位于设备的存储器中,该文件将引用远程托管的JavaScript文件和其他资源。也就是说,index.html本身并不托管在我们的web服务器中。在这种情况下可以使用html5应用程序缓存吗?也就是说,html元素如下所示:html5 appcache:远程清单文件工作吗?,html,application-cache,Html,Application Cache,我们的应用程序部署到物理设备上,因此起始页index.html位于设备的存储器中,该文件将引用远程托管的JavaScript文件和其他资源。也就是说,index.html本身并不托管在我们的web服务器中。在这种情况下可以使用html5应用程序缓存吗?也就是说,html元素如下所示: <html manifest="http://remotehost.com/site.manifest"> 这是否得到支持?或者,如果我们的web服务器没有托管index.html,是否有一种解决
<html manifest="http://remotehost.com/site.manifest">
这是否得到支持?或者,如果我们的web服务器没有托管index.html,是否有一种解决方法可以让它工作
谢谢 查看本网站的基本要求和限制: 在将文件部署到设备存储时,有一些因素会阻止appcache工作:
:您正在从另一个源引用清单文件->不允许跨源策略
:我假设呈现index.html的WebView是WebKit驱动的(iOs/Android)。我在台式电脑上用Safari和Chrome做了一些测试,发现如果index.html是从WebKit
或http://localhost
URL,即使清单遵守跨源策略。这会影响您,因为设备上本地部署的index.html将由file://...
在大多数情况下file://...
:您无法确保清单(从设备的存储器提供)具有正确的Mime-Type头,但如果没有这些头,浏览器将忽略清单Mime-Type
:您无法(硬编码)使用预定义的Manifest URI
属性分发index.html文件(因为您需要在知道此URI之前从服务器下载并保存它)。此外,您不能通过操纵PhoneGap应用程序(www文件夹)分发的资产来以某种方式更改属性Manifest=“URI/to/appCacheManifest.Manifest”
这意味着,如果您能够将“位于设备存储器中”的文件移动到Web服务器,并且您设置了指向该位置的本机WebView,则清单应该可以正常工作。有相关消息吗?看来这是不可能的。你在使用phonegap吗?我遇到了类似的问题,不知道你是否解决了这个问题。我有一个PhoneGap应用程序,设备上有所有资产。我希望能够更新其中的一些资产,但由于跨来源,使用清单将不起作用。我也是,@speg运气好吗?