我想使用localstorage在两个uiwebview之间共享数据。这样他们就可以通过javascript互相沟通了。
它适用于chrome(pc)和safari(iphone)两个标签,但在两个uiwebviews中不起作用。
这是一个简单的演示:
var txt = document.getElementById("txt");
window.addEventListener("storage",function(e){
if(e.key=="txt"){
txt.value = e.newValue;
}
},false);
txt.addEventListener("input",function(){
localStorage["txt"]=txt.value;
},false);
和Obj-c:
webview = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 240)];
[self.view addSubview:webview];
[webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://172.22.182.29:8000/onstoragetest.html"]]];
UIWebView *webview2 = [[UIWebView alloc]initWithFrame:CGRectMake(0, 240, 320, 240)];
[self.view addSubview:webview2];
[webview2 loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://172.22.182.29:8000/onstoragetest.html"]]];
问题是永远不会触发存储事件。