将Cookie存储在iPhone LocalStorage中

时间:2012-02-28 10:26:21

标签: html5 session cookies local-storage

我读到,每次访问者点击图标时,让我的php / js网络应用程序不重置的唯一方法是将cookie放入localstorage中。我确实读过有同样问题的Trouble Using LocalStorage to Store Cookie in Mobile Web App,但没有明确的解决方案,或者至少我没有设法让它发挥作用。我无法弄清楚如何从那里开展业务。有没有人实现他可以显示代码的东西。 感谢

1 个答案:

答案 0 :(得分:0)

如果通过重置意味着转到开始页面(或者更确切地说是用户选择下载应用程序的页面),这可以通过多种方式实现, cookies和localStorage 是两种方式美好而简单的方法。由于我已经在我的guestlist网络应用程序中将大量数据存储在localStorage中,因此我选择使用cookie。 以下是我的表现方式:

(N.B。我正在使用jquery cookie插件,所以如果您要复制粘贴此代码,请确保首先实现该插件。让我们开始做生意)

在每个单独的页面中,使用“当前位置”设置/覆盖cookie“userLocaltion”:

$.cookie("userLocation", "addGuest", { expires: 1 }); //persists for 1 day

同样,调用每页顶部的函数userPreviousLocaltion()并使用switch case创建函数(如下所示)。由于我的大多数子页面都在我的index.html中,因此我触发单击按钮而不是将用户发送到单独的页面:

function userPreviousLocaltion() {
var userLocation = $.cookie("userLocation");

switch (userLocation) {
case "addGuest":
  $('#addGuestFooterWrap').trigger('click');
  break;
case "stats":
  $('#statsFooterWrap').trigger('click');
  break;
case "utilities":
  $('#settingsFooterWrap').trigger('click');
  break;
case "bookings":
  $('#bookingsFooterWrap').trigger('click');
  break;
case "guestlist":
  window.location = "guestlist.html";
  break;
default:
    console.log("do nothing, stay on first page.");
  }

}

希望有所帮助!