4

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"]]];

問題は、ストレージ イベントが発生しないことです。

4

0 に答える 0