我正在从inAppBrowser视图中设置localStorage。假设在inAppBrowser视图中我已经设置了
localStorage.setItem("page","10");
在inAppBrowser中我想检查是否设置了值,所以我检查了
alert(localStorage.getItem("page"));
它显示10.现在我关闭了inAppBrowser视图并返回到我的主视图。然后我再次给予
alert(localStorage.getItem("page"));
检查退出事件侦听器中的值。它显示空值或不同的过去值但不是10.你能告诉我什么是错的??????????
我也试过了window.localStorage.setItem("page","10");
基本上我想从inAppBrowser视图中获取一个值。我尝试了setInterval and executeScript
示例,但该示例中存在问题。当你在inAppBrowser中做一些耗费大量内存的繁重工作时,之前的活动/网页会被杀死或挂起。因此,这不是有效的。有没有简单的方法可以使用localStorage和inAppBrowser来获取从inAppBrowser到主页的值?
答案 0 :(得分:3)
Jeremy J Starcher& MarcinMikołajczyk评论说,这是不可能的。这是因为相同的域策略和inAppBrowser是一个新的实例,它不允许以前的webview访问它。
解决方案是在主视图或父webview中发回所需数据,然后将它们放在localStorage中。
答案 1 :(得分:3)
看看这篇精彩的博文,讨论主视图和InAppBrowser之间的通信:
基本上,它是通过将JavaScript注入InAppBrowser进行评估并捕获结果来完成的。