电话间隙导航和会话维护



我正在尝试将网站转换为phonegap安卓应用程序。Web 服务器将客户端上的会话 ID 设置为 Cookie。必须为整个会话维护此会话 ID。

当我从一个页面移动到另一个页面(第二个页面是应用程序中的本地html文件)时,使用href,或window.location或navigator.app.loadUrl,它会在浏览器中加载第二个页面,并且cookie被销毁,所以我无法从第二个页面发出有效的ajax请求。

我不喜欢将所有页面放在一个 html 文件中(如 jquery mobile)。鉴于我有单独的 html 文件,如何在它们之间导航,以便第二个页面加载到同一个 web 视图中,(以便保留 cookie)而不是在浏览器中。我必须为它创建另一个活动吗?

除了上面提到的那些之外,phonegap中还有其他导航方式吗?还是保持在同一 Web 视图中的唯一方法是使用 ajax 动态加载页面并用它们替换现有页面?

另一种可能性是我可以从响应中解析会话 ID,将其存储在本地存储中并附加到每个请求中。但是这个cookie是HTTP只读的,所以我无法使用javascript读取它

Backbone.js 是一个很棒的工具,它具有出色的分页路由功能,哈希会改变,但您的 js 对象将保持不变,因为页面没有刷新,请尝试一下。

我认为它比 cookie 更好地使用 localStorage,它更容易,并且会随着您的页面到另一个页面。

请注意,即使用户关闭并重新打开您的应用程序,本地存储仍保留在设备上。

用法:

localStorage.setItem("foo","bar");
console.log(localStorage.getItem("foo")); //Output: bar

最新更新