Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从inAppBrowser设置的localStorage值未显示外部-cordova_Javascript_Android_Cordova_Local Storage_Inappbrowser - Fatal编程技术网

Javascript 从inAppBrowser设置的localStorage值未显示外部-cordova

Javascript 从inAppBrowser设置的localStorage值未显示外部-cordova,javascript,android,cordova,local-storage,inappbrowser,Javascript,Android,Cordova,Local Storage,Inappbrowser,我正在从AppBrowser视图设置本地存储。假设在我设置的inAppBrowser视图中 localStorage.setItem("page","10"); 在应用浏览器中,我想检查该值是否已设置,因此我使用 alert(localStorage.getItem("page")); 它显示10。现在我关闭了inAppBrowser视图并返回到主视图。然后我再次给予 alert(localStorage.getItem("page")); 检查退出事件侦听器中的值。它显示空值或不同的过

我正在从AppBrowser视图设置本地存储。假设在我设置的inAppBrowser视图中

localStorage.setItem("page","10");
在应用浏览器中,我想检查该值是否已设置,因此我使用

alert(localStorage.getItem("page"));
它显示10。现在我关闭了inAppBrowser视图并返回到主视图。然后我再次给予

 alert(localStorage.getItem("page"));
检查退出事件侦听器中的值。它显示空值或不同的过去值,但不是10。你能告诉我怎么了吗

我还尝试了
window.localStorage.setItem(“page”,“10”)


基本上,我想从inAppBrowser视图中获取一个值。我尝试了
setInterval和executeScript
示例,但该示例中存在一个问题。当您在AppBrowser中执行一些消耗大量内存的繁重工作时,以前的活动/网页会被杀死或挂起。因此,这是没有效率的。是否有任何简单的方法可以使用localStorage和InApp Browser,或者从InApp Browser获取主页的值?

正如Jeremy J Starcher和Marcin Mikołajczyk评论的那样,这是不可能的。这是因为相同的域策略,而inAppBrowser是一个新实例,不允许以前的webview访问它


解决方案是在主视图或父webview中发回所需的数据,然后将它们放在本地存储中。

看看这篇漂亮的博文,其中讨论了主视图和InAppBrowser之间的通信:


基本上,它是通过在AppBrowser中注入JavaScript进行评估并捕获结果来完成的。

localStorage仅限于同一个域策略。它不会这样工作,就像您希望在浏览器的一张卡中有一个cookie在另一张卡中可用一样。inappbrowser是浏览器的另一个“实例”,独立于phonegap webview,您最多可以将phonegap中的一些脚本注入inappbrowser,但不能以相反的方式进行。你可以在应用浏览器中从网站上发布你的开场白,然后在你的应用程序中发布。@JeremyJStarcher啊,好的,收到了。谢谢因此,我需要放弃使用localStorage的想法,开始寻找新的解决方案。我没有充分使用cordova/phonegap来推荐另一种解决方案,但这听起来像是在StackOverflow上讨论的那种。可能想搜索它。@MarcinMikołajczyk好的!明白了。但你的意思是说你得到了多少??我在某个地方读到,如果没有远程服务器,php函数无法使用phonegap。你能告诉我一个例子,如何在phonegap中与我的本地页面交互,使用POST GET进行通信!