ios - 如何在同一域的移动浏览器和 webview 之间共享数据(仅限客户端)

标签 ios mobile-safari local-storage web-sql frontend

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 像这样通信:

  1. UIWebView 到 Mobile Safari:您可以在 Mobile Safari 中打开一个 URL 并让该 URL 对用户标识符进行编码,以便 Safari 可以访问相同的用户数据;

  2. 在 Mobile Safari 中:使用自定义 URL 架构(例如:“myapp://xxxxxxx”)并让您的应用将自身注册为该 URL 架构的处理程序;此外,在 URL 中对用户标识符进行编码,以便您的应用知道要请求哪些数据。

我希望这些提示可以让您了解如何设计您的应用。

关于ios - 如何在同一域的移动浏览器和 webview 之间共享数据(仅限客户端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389763/

相关文章:

mobile-safari - 使用 JS API 时,使用 Linkedin 登录不会触发 iOS Safari 上的回调

javascript - Stackoverflow 使用 localstorage 进行授权似乎不安全。这是正确的,否则我们如何加强它?

iphone - performSegueWithIdentifier 不工作

javascript - 在移动 safari 中创建这种效果?

javascript - 如何在 Xamarin iOS 项目中评估 JavaScript 并获得结果?

iphone - 为移动 Safari 设置 "Home Screen"图标名称

javascript - HTML5 localStorage JSON 改进

javascript - 如何根据存储在数组中的复选框值输出响应?

iOS UIImagePickerController vs AV foundation : looking to implement image capture with overlay, 哪个最好?

ios - 取消 Controller 动画转换时,preferredStatusBarStyle 不正确