【问题标题】:Make theme settings in Phonegap app persistent - with jQuery cookies使 Phonegap 应用程序中的主题设置持久化 - 使用 jQuery cookie
【发布时间】:2013-04-28 17:59:16
【问题描述】:

我有一个具有不同主题选项的 Phonegap 应用。为了使每个应用程序启动时主题选择保持不变,我想用 jQuery 设置一个 cookie。但在浏览器(我测试的地方)每次刷新后,标准主题又回来了。

你能给我一些提示吗?

这是我的应用开头的标记:

<body>
  <div class="theme1">
   <div id="page1">
   (...) // app markup
  <script src="js/jquery.js"></script>
  <script src="js/jquery.cookie.js"></script>
  <script>HERE GOES MY SCRIPT</script>
</body>

在那里我设置了标准主题。

现在,我要做的是,当我点击另一个主题(例如#theme8)时,这会发生在我的脚本中:

    $('#theme8').bind('click', function () {
     if ($('body > div').hasClass('theme8')) {
      // go back to the home screen
   } else {
        $('body > div').removeClass();
        $('body > div').addClass("theme8");
       // go back to the homescreen
   }
     $.cookie('theme_eight', 'applied');
   });

这是我的 cookie:

var theme_eight = $.cookie('theme_eight');
if (theme_eight == 'applied') { 
    $('body > div').removeClass();
    $('body > div').addClass("theme8");
};

其他 7 个主题也是如此。那么这有什么问题呢?为什么我的主题选择不坚持?有没有更简洁的解决方案来实现这一点?

【问题讨论】:

    标签: jquery cordova local-storage persistent-storage jquery-cookie


    【解决方案1】:

    而不是 cookie 看看 Localstorage。它的持久性比使用 cookie 更好

    http://docs.phonegap.com/en/2.7.0/cordova_storage_storage.md.html#localStorage

     function onDeviceReady() {
            window.localStorage.setItem("key", "value");
            var keyname = window.localStorage.key(i);
            // keyname is now equal to "key"
            var value = window.localStorage.getItem("key");
            // value is now equal to "value"
            window.localStorage.removeItem("key");
            window.localStorage.setItem("key2", "value2");
            window.localStorage.clear();
            // localStorage is now empty
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 2011-07-04
      • 2013-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多