在 iOS 上:
是否可以在移动safari上的页面和WebView(本机应用程序)上的页面之间共享客户端上的数据?
两个页面都在完全相同的域上。
到目前为止,我已经厌倦了webSQL和localStorage,他们似乎将数据保存在一个单独的数据库中,即使它的链接完全相同。
我不介意使用WebSQL / indexDB,localStorage,cookie,appCache, Kung Fu 等等!
非常感谢您的帮助:) 感谢
答案 0 :(得分:2)
我认为您不能在Mobile Safari和嵌入UIWebView
的应用之间在客户端共享数据。实际上,它们是托管在不同沙箱中的两个应用程序。 (有关沙盒的一般信息,请阅读here)。如果这是可能的,您可能会让您的应用程序损害Safari安全性,这绝对不可取。
您可以做的是使用Cookie在服务器端存储数据。为了提供一些具体的示例,您应该提供有关您要执行的操作的更多详细信息,但这里的一般想法是您唯一地标识您的用户会话,然后使用UIWebView
和Mobile Safari中的此唯一标识符。然后你可以让UIWebView
和Mobile Safari像这样沟通:
从UIWebView
到Mobile Safari:您可以在Mobile Safari中打开一个网址,并让该网址对用户标识符进行编码,以便Safari可以访问相同的用户数据;
:使用自定义URL方案(例如:“myapp:// xxxxxxx”)并使您的应用程序将自己注册为该URL方案的处理程序;此外,在URL中编码用户标识符,以便您的应用知道要请求的数据。
我希望这些提示可以让您了解如何设计应用程序。