我有一个具有不同主题选项的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').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');
});
var theme_eight = $.cookie('theme_eight');
if (theme_eight == 'applied') {
$('body > div').removeClass();
$('body > div').addClass("theme8");
};
与其他7个主题相同。那有什么问题呢?为什么我的主题选择不会持续存在?是否有更简洁的解决方案来实现这一目标?
答案 0 :(得分:0)
而不是cookie看看Localstorage。它持久耐用,然后使用cookies
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
}