如何让iOS使用查询参数缓存HTML5文档?
我正在尝试从iOS应用程序打开mobile safari,以使用openURL打开脱机HTML5应用程序: NSString*urlString=[NSString stringWithFormat:@]http://localhost:8080/blargh.html"]; [[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]] blargh.html有一个HTML5清单: 该清单包含html文件: 缓存清单 blargh.html 这一切都如期进行,当我从iOS应用程序打开URL时,它被正确缓存并脱机工作。但是,如果我包含动态cgi参数,它不会正确缓存: NSString*urlString=[NSString stringWithFormat:@]http://localhost:8080/blargh.html?q=p"]; [[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]] 这基本上意味着我不能从iOS应用程序中打开一个离线HTML5应用程序,并传递它的参数,让它正确缓存。我需要在mobile safari中打开应用程序,而不是Web视图,原因超出了本文的范围。据我所知,没有办法通过openURL发送post参数。我希望MobileSafari的缓存系统足够聪明,可以忽略cgi参数如何让iOS使用查询参数缓存HTML5文档?,ios,html,mobile-safari,manifest,Ios,Html,Mobile Safari,Manifest,我正在尝试从iOS应用程序打开mobile safari,以使用openURL打开脱机HTML5应用程序: NSString*urlString=[NSString stringWithFormat:@]http://localhost:8080/blargh.html"]; [[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]] blargh.html有一个HTML5清单: 该清单包含html文件:
有什么建议吗?查询参数会破坏应用程序缓存,因为它用于静态内容。通常的方法是加载一个静态页面,然后使用JavaScript动态填充它,缓存其中的任何数据,以便您也可以脱机使用它 但是,如果您只需要缓存一个文件,并且您的服务器支持路由或,那么您可以利用这样一个事实,即包含指向
appcache
文件的链接的页面始终被缓存,因此不必在清单中列出
从以下位置重新写入您的URL:
http://localhost:8080/blargh.html?q=p
致:
查询参数会破坏应用程序缓存,因为它用于静态内容。通常的方法是加载一个静态页面,然后使用JavaScript动态填充它,缓存其中的任何数据,以便您也可以脱机使用它 但是,如果您只需要缓存一个文件,并且您的服务器支持路由或,那么您可以利用这样一个事实,即包含指向
appcache
文件的链接的页面始终被缓存,因此不必在清单中列出
从以下位置重新写入您的URL:
http://localhost:8080/blargh.html?q=p
致:
在ios中,我只能使用URL打开mobile safari,我需要通过该URL将参数传递给mobile safari(我看不到任何其他方法可以让mobile safari知道这些参数)。但我对服务器端的重写有何帮助感到困惑。我试图让浏览器在客户端完全处理请求,而不向服务器请求任何内容(当然,在第一次加载之后。因此,如果我在客户端请求,这意味着appcache将很高兴地从中提供服务?@MarkCorner No,它将很高兴地从
http://localhost:8080/blarg.html/q/p
-这就是重点,它采用参数并使它们看起来像一个文件。这就是我所说的“如果你st需要缓存一个文件。如果不清楚为什么这样做可能会有帮助,也许你可以在问题中更清楚地说明你想要什么?同一个用户是否需要相同的页面但参数不同?是的,很抱歉,不清楚,同一个用户将需要具有不同参数的同一页面,因此该解决方案似乎不适用ork…也许我还缺少其他一些iOS技巧。@MarkCorner我不这么认为,如果涉及动态数据,请使用DOM存储,如我第一次提到的。使用片段标识符而不是查询,使用JavaScript从中读取变量。在iOS中,我只能使用URL打开mobile safari,我需要将参数传递给mobile saf通过该URL进行ari(我看不到任何其他方法可以让mobile safari知道这些参数)。但我对服务器端重写的帮助感到困惑。我试图让浏览器在客户端完全处理请求,而不向服务器请求任何内容(当然,在第一次加载之后。因此,如果我在客户端请求,这意味着appcache将很高兴地从中提供服务?@MarkCorner No,它将很高兴地从http://localhost:8080/blarg.html/q/p
-这就是重点,它采用参数并使它们看起来像一个文件。这就是我所说的“如果你st需要缓存一个文件。如果不清楚为什么这样做可能会有帮助,也许你可以在问题中更清楚地说明你想要什么?同一个用户是否需要相同的页面但参数不同?是的,很抱歉,不清楚,同一个用户将需要具有不同参数的同一页面,因此该解决方案似乎不适用ork…也许我还缺少其他一些iOS技巧。@MarkCorner我不这么认为,如果涉及到动态数据,请使用DOM存储,如我第一次提到的。使用片段标识符而不是查询,使用JavaScript从中读取变量。