在 iOS 上:
是否可以在移动 safari 上的页面和 WebView( native 应用程序)上的页面之间在客户端共享数据?
两个页面都在完全相同的域上。
到目前为止,我厌倦了 webSQL 和 localStorage,它们似乎将数据保存在单独的数据库中,即使它是完全相同的链接。
我不介意使用 WebSQL/indexDB、localStorage、cookie、appCache、Kung Fu 等等!
非常感谢您的帮助:)
谢谢
最佳答案
我不认为您可以在 Mobile Safari 和嵌入 UIWebView
的应用之间在客户端共享数据。实际上,它们是托管在不同沙箱中的两个应用程序。 (有关沙盒的一般信息,请阅读 here )。如果这是可能的,您的应用可能会危及 Safari 的安全性,这绝对是不可取的。
您可以做的是使用 cookie 将数据存储在服务器端。你应该提供更多关于你试图做什么的细节,以提供一些具体的例子,但这里的一般想法是你唯一地标识你的用户 session ,然后从 UIWebView
使用这个唯一标识符和移动版 Safari。然后你可以让 UIWebView
和 Mobile Safari 像这样通信:
从
UIWebView
到 Mobile Safari:您可以在 Mobile Safari 中打开一个 URL 并让该 URL 对用户标识符进行编码,以便 Safari 可以访问相同的用户数据;在 Mobile Safari 中:使用自定义 URL 架构(例如:“myapp://xxxxxxx”)并让您的应用将自身注册为该 URL 架构的处理程序;此外,在 URL 中对用户标识符进行编码,以便您的应用知道要请求哪些数据。
我希望这些提示可以让您了解如何设计您的应用。
关于ios - 如何在同一域的移动浏览器和 webview 之间共享数据(仅限客户端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389763/