2013-12-12 25 views
1

我想要做的是:用javascript(已完成)更改页面的CSS,并保留该CSS当我导航到不同的页面。
我试图让我的用户在浏览时有他/她想要的CSS,而无需继续选择它。
我至今是:如何在改变后的其他页面上保留相同的CSS

的Javascript

var css="mycss.css"; 

function cssChange(id){ 
    css="mycss.css"; 
    document.getElementById(id).href='mycss.css'; 
} 
function cssChange2(id){ 
    css="mycss2.css"; 
    document.getElementById(id).href='mycss2.css'; 
} 
function cssChange3(id){ 
    css="mycss3.css"; 
    document.getElementById(id).href='mycss3.css'; 
} 
function loadpage(){ 
    document.getElementById('css').href=css; 
} 

HTML

<link id="css" href="" rel="stylesheet" type="text/css" /> 
</head> 

<body onload="loadpage()"> 

所以我失去了什么?或者,也许它不能用JavaScript来完成?
另外我的CSS在所有页面中都能正常工作,所有CSS都是我在页面中想要的。它只是不会保持不变。

+1

您需要在服务器端或使用cookie存储用户的CSS选择。 – Slicedpan

+5

或使用localStorage或sessionStorage。 –

+0

我不适合演示文稿,所以我没有服务器,我的所有文件都在本地文件夹中。那我该用什么? –

回答

0

最好尝试为所有用户保存唯一的css文件名及其个人资料表。触发CSS文件名,而用户登录。[IT IS服务器端]

OR

如果不保持用户的单独的表,然后跟踪他们的IP,它存储在表&向他们展示一种选择的风格。 [它是服务器端]

如上所述,使用cookies。 [它是客户端]

我比上面的客户端更喜欢服务器端脚本。

0

如果它涉及到只有字体,颜色和图像的变化,我建议如下技巧:

创建在一个CSS文件不同的“ID”同名的CSS类,像

#type1 .fontClass { font-size: 12px;} 

#type2 .fontClass {font-size: 16px;} 

#type3 .fontClass {font-size: 20px;} 

现在,您只需要一个基本上存储#ID值(类型1或类型2或类型3)的COOKIE集合代码,在页面加载时将此ID设置到您的主体标记或父DIV标记中,您基本上正在应用这些类。

相关问题