是的,它是独立的,但有时您需要将某种变量传递给 In App Browser。它使编码更容易将 ls 项目从当前的 web 视图传递到另一个,如 iOS 中。
这是我在 PhoneGap 中所做的
我使用 InAppBrowser executeScript() 将当前 webviews localStorage 的副本传递给另一个。
//add the listener to detect when the page loads after inappbrowser is called into view
ref.addEventListener('loadstop', function(){
ref.executeScript({code: 'SetInAppBrowserLocalStorage(\''+localStorage+'\');'});
});
//In your inAppBrowser page you create a function that will get called on loadStop
//This will pass "all" the contents of the main webviws localStorage to the webview
//created by InAppBrowser
function SetInAppBrowserLocalStorage(localStorageThatWasPassed){
localStorage = localStorageThatWasPassed;
};
您还可以在用户离开该视图之前清除由 SetInAppBrowserLocalStorage() 创建的 localStorage。
测试和工作 100% :)...如果您需要更多帮助,请告诉我
***更新*****
这仍然有效......但不再一致了。经过多次测试,我意识到这根本不是要走的路。有时,在创建 inappbrowser 实例时,数据传递的速度不够快。我通过那里的问题跟踪器与科尔多瓦人交谈,他们告诉我这不是一种安全的做事方式……我明白了……但我对他们的回应是,如果我只想在页面之间传递 ls 变量怎么办在我的应用程序中..那些甚至无法从互联网访问......老实说,我不明白为什么 ls 项目不能像在 iOS 和其他网络中一样在应用程序中全局访问。如果有人有更好的解决方案,我很想听听。