localstorage を使用して、2 つの uiwebview 間でデータを共有したいと考えています。javascriptで相互に通信できるようにします。
chrome(pc)とsafari(iphone)の2つのタブで動作しますが、2つのuiwebviewでは動作しません。
簡単なデモを次に示します。
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"]]];
問題は、ストレージ イベントが発生しないことです。