比较绕,
我用 edge 打开了一个网站, e.g. https://192.168.0.1 ,然后 localStorage 里面添加了一行记录,比如,name-key, 值是 yazoox
现在我们有一个 c++的程序,里面会用 webview 打开同样的网站 https://192.168.0.1 ,然后去读取 localStorage ,name-key 。但是,我发现,这个 localStorage 里面没有这个值......
这个是咋回事儿?
有没有办法在 edge 里面修改 localStorage (或者通过某介质),然后 webview 里面能够读取到么?(要求不能使用注册表)
谢谢!
1
ljsh093 2022-05-25 14:54:10 +08:00
edge webview 两个环境隔离的吧
|
2
yazoox OP @ljsh093 那 webview 里面,按 F12 ,能够弹出 devtools ,有办法可以再当前状态下,再 new a page/webview 么?这个应该是同环境下。
|
3
mozhizhu 2022-05-25 15:21:20 +08:00
……浏览器自己存数据,你用 webview 不是另一个浏览器了?
|
4
westoy 2022-05-25 15:28:14 +08:00
起个 webserver 传数据给后端做跨浏览器同步吧
纯客户端实现离现在最近的也是被干的死死的 flash cookie 了........ |
5
yyfearth 2022-05-25 16:04:24 +08:00
换个说法 你 Chrome 里面修改了 localStorage 为啥 Firefox 里面读不到
或者说你 Safari 里面登陆了一个网站 你换到 Chrome 里面除非导入数据 你觉得同一个网站已经登陆了吗 iOS 可以做到因为 iOS Safari 和 App 的 Safari View 是通的 是 iOS 特意实现的功能 App 要用这个功能还要加入一些特别的代码来支持 而且也不是 100%通的 但是 Edge 和 webview 不是通的 就算是基于 Edge 的 vebview2 也和 Edge 是隔离的 |
6
vance123 2022-05-25 16:09:34 +08:00 via Android
webview 完全是由 app 控制的。要是互通的话,岂不是隐私都被偷走了?
|
7
des 2022-05-25 16:11:41 +08:00 via iPhone
很明显这是两个隔离环境,就算你可以用注册表你也做不到啊。
退一步即使这两个能互通,如果客户不用 edge ,用火狐、360 、搜狗你怎么办? |