【发布时间】:2014-05-18 11:55:43
【问题描述】:
我有以下功能来更改我的网站上的样式表,我想使用 cookie 来保持样式表主题在页面之间的持久性。
<script type="text/javascript">
var i=1;
function styleSheet(){
if(i%2==0){
swapper('css/main.css');
document.cookie = "username=Visitor";
}
else{
swapper('css/stylesheetalternate.css');
document.cookie = "username=alternateVisitor";
}
i++;
}
<button onclick="styleSheet()">Click me</button>
我已经在这个函数中设置了我的 cookie。我对设置到期日期或类似的东西不太感兴趣,默认值对我来说很好。然而,我确实想尝试做的是每次使用我创建的按钮时读取此函数内部的 cookie。有没有办法在同一个函数中读取它?
我知道存在一个执行此操作的 jquery 库,但如果我可以使用 javascript 获得更好的性能,我不想使用 jquery。
编辑:
<script type="text/javascript">
var i=1;
function styleSheet(){
if(i%2==0){
swapper('css/main.css');
document.cookie = "username=Visitor";
readCookie(Visitor);
}
else{
swapper('css/stylesheetalternate.css');
document.cookie = "username=alternateVisitor";
readCookie(alternateVisitor);
}
i++;
}
当您说在我的函数中使用 readCookie 时,您的意思是类似于以下内容吗?我从这种实现中注意到的是,在交换样式表一次之后,无论出于何种原因,在重新加载页面之前都无法再次交换。
【问题讨论】:
-
远离 jQuery 有充分的理由,但性能并不是其中之一;如果方便,就去吧。也就是说,this library 很好,而且不是 jQuery 插件。 Consider also
localStorage. -
同意@minitech,考虑在此处stackoverflow.com/questions/23699556/… 的赏金问题中使用
storeStyleSheet方法
标签: javascript cookies