1

我有 6 个不同的样式表和 1 个 html 页面。我需要做的是让页面在访问时随机加载其中一个样式表。

而且,当用户访问并加载了随机样式表时,是否可以记住加载了哪个样式表,并且只为该特定访问者加载该样式表(即停止随机化...加载最初加载的样式表)?

我已将 jQuery 加载到 html 文档中。

4

2 回答 2

1
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery.cookie.js"></script>

<script>

$(document).ready(function(){
  var userStylesheet = $.cookie('user_stylesheet');

  if(!userStylesheet){
    userStylesheet = Math.floor((Math.random()*6)+1);
    $.cookie('user_stylesheet', userStylesheet);
  }

  var ss = $('<link/>').attr('rel', 'stylesheet').attr('type','text/css').attr('href', 'stylesheet' + userStylesheet + '.css');
  $(document.body).append(ss);

});

</script>
</head>
<body>
  Hello!
</body>
</html>

编辑

这是jquery.cookie.js RAW的链接

于 2012-10-04T14:44:21.353 回答
0

您是否有任何类型的服务器端脚本可供您使用?如果是这样,我将决定在服务器上提供哪个 CSS 文件,并将值保存在会话变量中——然后如果在后续页面加载时设置了该会话变量,则输出它而不是生成新的。

或者,您可以尝试在 javascript本地存储中设置 cookie。

于 2012-10-04T14:18:27.817 回答