Ios 在多个UIWebView之间共享HTML5本地存储
我有一个ViewController,它有多个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”)=>>为
UIWebViews
。我正在使用localstorage.setItem
存储一些变量。但问题是,这些变量只能在已设置的uiwebview
中访问。如果我试图获取(localstorage.getitem)otherUIWebViews
的变量,它会给出null值
WebView1===>>>localStorage.setItem(“var1”、“val”)代码>
WebView2===>>警报(localstorage.getItem(“var1”)
=>>为空很抱歉,但框架就是这样设计的:每个UIWebView
都是它自己的实例,与同一应用程序中的其他实例隔离(就像没有内置的弹出或选项卡功能一样)
如果没有其他方法,您可以使用web视图,并通过编程安排某种方式,通过本机层在它们之间传输数据(也有其他方法,类似的方法可以实现同样的效果)
您甚至可以通过使用stringByEvaluatingJavaScriptFromString
将所需的数据预先注入到已知的数据结构中。但是,在UIWebView
调用本机端时使用Javascript是一件众所周知的困难事情,只有使用桥接解决方案才能解决,就像我在第二段中提到的那样。然而,我看到了一种奇怪的行为。如果你把警报放在一个UIWebView
中,它就会出现在另一个视图中。你如何确定警报来自哪个视图?只需在不同UIWebView
的警报中放置不同的消息,当然,为了识别它,我的问题的措辞是错误的:你真的能看到它出现了吗(它是window.alert()
我们正在谈论的是什么?