Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在多个UIWebView之间共享HTML5本地存储_Ios_Iphone_Html_Uiwebview - Fatal编程技术网

Ios 在多个UIWebView之间共享HTML5本地存储

Ios 在多个UIWebView之间共享HTML5本地存储,ios,iphone,html,uiwebview,Ios,Iphone,Html,Uiwebview,我有一个ViewController,它有多个UIWebViews。我正在使用localstorage.setItem存储一些变量。但问题是,这些变量只能在已设置的uiwebview中访问。如果我试图获取(localstorage.getitem)otherUIWebViews的变量,它会给出null值 WebView1===>>>localStorage.setItem(“var1”、“val”) WebView2===>>警报(localstorage.getItem(“var1”)=>>为

我有一个ViewController,它有多个
UIWebViews
。我正在使用
localstorage.setItem
存储一些变量。但问题是,这些变量只能在已设置的
uiwebview
中访问。如果我试图获取(localstorage.getitem)other
UIWebViews
的变量,它会给出null值

WebView1===>>>
localStorage.setItem(“var1”、“val”)


WebView2===>>
警报(localstorage.getItem(“var1”)
=>>为空

很抱歉,但框架就是这样设计的:每个
UIWebView
都是它自己的实例,与同一应用程序中的其他实例隔离(就像没有内置的弹出或选项卡功能一样)

如果没有其他方法,您可以使用web视图,并通过编程安排某种方式,通过本机层在它们之间传输数据(也有其他方法,类似的方法可以实现同样的效果)


您甚至可以通过使用
stringByEvaluatingJavaScriptFromString
将所需的数据预先注入到已知的数据结构中。但是,在
UIWebView
调用本机端时使用Javascript是一件众所周知的困难事情,只有使用桥接解决方案才能解决,就像我在第二段中提到的那样。

然而,我看到了一种奇怪的行为。如果你把警报放在一个
UIWebView
中,它就会出现在另一个视图中。你如何确定警报来自哪个视图?只需在不同
UIWebView
的警报中放置不同的消息,当然,为了识别它,我的问题的措辞是错误的:你真的能看到它出现了吗(它是
window.alert()
我们正在谈论的是什么?