您好,匿名用户
随意问技术百科期待您的加入

关于网站换皮肤的功能,谁可以告诉下mac.pcbeta.com 它的换肤原理?

0 投票

一直想实现mac.pcbeta.com 的皮肤功能。
最近写了一个JS 来实现,将用户设置的皮肤名字保存在localstorage ,每次刷新页面的时候去调用保存在localstorage 中的字段,然后根据字段引用新的皮肤所包含的CSS文件。
但是写完之后发现,虽然能够实现,但是用户每次刷新的时候都需要执行这个脚本,会不会很耗资源?
其实耗资源还是小事,最重要是在脚本运行前,网页的皮肤最先是默认的,没有引入新的CSS 文件的,但执行后网页界面才改变。

这样一来,每次刷新页面的时候,都会出现一次闪过的白屏。(默认皮肤为白色,设置使用的皮肤为其他颜色),很不舒服。

那么mac.pcbeta.com他们是怎么实现的?

我看到他们每次换皮肤的时候都会刷新页面,并且提交一个?styleid=34,然后服务器获取到这个styleid 之后用后端脚本插入?具体要怎么实现?还要指定知道是哪个访客设置的皮肤

用户头像 提问 2012年 12月1日 @ Aquarius 上等兵 (283 威望)
分享到:

1个回答

0 投票
 
最佳答案

你可以写成这样

if styleid="black"
	<link href="black.css">
elseif styleid="red"
	<link href="red.css">
else
	<link href="common.css">

或者这样

styleid = isset(styleid) ? styleid : 'common';
<link href="{styleid}.css">

不过,mac.pcbeta.com也是要跳页面啊。。在某些浏览器上也是会白一下的。。

用户头像 回复 2012年 12月1日 @ Archer 上等兵 (494 威望)
选中 2012年 12月1日 @Aquarius
提一个问题:

相关问题

0 投票
1 回复 36 阅读
+1 投票
0 回复 21 阅读
0 投票
1 回复 59 阅读
用户头像 提问 2012年 12月1日 @ Ezreal 上等兵 (266 威望)
0 投票
1 回复 35 阅读
用户头像 提问 2012年 12月1日 @ Artemis 上等兵 (162 威望)
0 投票
0 回复 41 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...