我在html中创建一个简单的Web应用程序。我需要的是,我有主题选项。我写了以下代码,工作正常。但问题是,当用户选择主题并使用此页面中的链接转到另一个页面时,主题不会传送到应用程序中的其他页面。
在jQuery中是否有一种方法,当用户在页面中选择一个选项时,可以将选择带到下一页,这样主题也可以在其他页面中生效。
这就是我所拥有的。 (这是用.dwt文件编写的,这样所有页面都可以使用它。)
<link rel="stylesheet" type="text/css" title="theme" href="css/styles_brown.css" />
<script>
$(function() {
$('#themes').change( function() {
var rel = $('link[title="theme"]');
switch($(this).val())
{
case "brown":
{
rel.attr('href', 'css/styles_brown.css');
break;
}
case "blue":
{
rel.attr('href', 'css/styles_blue.css');
break;
}
case "green":
{
rel.attr('href', 'css/styles_green.css');
break;
}
//Etc
}
});
});
</script>
<select id="themes" class="txtborder txtddpad">
<option value="brown">Theme Brown</option>
<option value="blue">Theme Blue</option>
<option value="green">Theme Green</option>
</select>
谢谢, Tharun。
答案 0 :(得分:1)
如果用户能够更改您网站的主题,您应该在服务器端保存配置,并在服务器端生成相应的样式标记。
如果这不是一个选项,您可以使用cookie之类的东西将其保存在cookie上。无论哪种方式,您都需要某种存储,无论是客户端还是服务器端。
人们会指出的一些选项可能是Cookie或本地存储。但这两者都不是真正持久的或跨平台的。 仔细考虑在服务器上保存配置。
答案 1 :(得分:1)
LocalStorage是您的朋友:
http://diveintohtml5.info/storage.html
var foo = localStorage.getItem("bar");
// ...
localStorage.setItem("bar", foo);
答案 2 :(得分:0)
您可以保存cookie,或使用localstorage,如下所示:
localStorage.setItem("theme", "SOME_THEME_ID");
localStorage.getItem("theme"); // gets theme
答案 3 :(得分:0)
我建议您将用户的选择存储在local storage中,然后在后续的网页访问中将其读出来。