JS更换CSS样式表记录COOKIE

html-css016

JS更换CSS样式表记录COOKIE,第1张

/* ======= FileName:skinCss.js =======

* Author:Crystal (Feng Fupeng)

* Date:2008-02-24

* Email:8215349[at]qq.com

*/

function GetCookie(sName)

{

var aCookie = document.cookie.split("")

for (var i=0i <aCookie.lengthi++)

{

var aCrumb = aCookie[i].split("=")

if (sName == aCrumb[0])

{

return aCrumb[1]

}

}

return null

}

function SetCookie(name, value, time, domain)

{

var expdate = new Date()

var expires = time

if(expires!=null){

expdate.setTime(expdate.getTime() + ( expires * 1000 ))

expd = "expires="+expdate.toGMTString()+""

}else

expd = ""

if (domain)

{

domain = "domain="+ domain +"path=/"

}

document.cookie = name + "=" + escape (value) + "" + expd + domain

}

var cookieTag = "nd_skin"

var vSkin = GetCookie(cookieTag)

//皮肤撤销初始化皮肤

if(vSkin=="yx_subject0708"){setSkinColor('blue')}

function setSkinColor(vSkinNum)

{

SetCookie( cookieTag, vSkinNum, 60*60*24*30,"")

if(vSkinNum=="yx_subject0708"){vSkinNum="blue"}

document.getElementById("skinCss").href = "http://192.168.2.123/home/css/"+vSkinNum+".css"

}

if( vSkin &&vSkin!="Style" )

{

document.getElementById("skinCss").href = "http://192.168.2.123/home/css/"+vSkin+".css"

}

上面是JS里面代码,函数名字能看的懂吧,包含了换css的路径和初试输出还有cookie的记录,都包含在上面了,解释起来就很多了,相信你应该能看的明白

页面上html代码如下:

<link id="skinCss" href="http://172.21.13.133/KM_home/css/blue.css" rel="stylesheet" type="text/css" />

这个注意这个ID,你要换名字也可以,JS里面也要对应的换,至于放哪位置,就不必说了吧

然后还有一段就是你要换样式,那么一定要有触发事件

在body里面可以加上<ol>

<li><span class="skinPink" onclick="setSkinColor('pink')" title="粉红色">粉红</span></li>

<li><span class="skinBlue" onclick="setSkinColor('blue')" title="蓝色">蓝</span></li>

<li><span class="skinRed" onclick="setSkinColor('red')" title="红色">红</span></li>

<li><span class="skinGreen" onclick="setSkinColor('green')" title="绿色">绿</span></li>

<li><span class="skinPeagreen" onclick="setSkinColor('peagreen')" title="淡绿色">淡绿</span></li>

<li><span class="skinOrange" onclick="setSkinColor('orange')" title="橙色">橙</span></li>

<li><span class="skinPurple" onclick="setSkinColor('purple')" title="紫色">紫</span></li>

<li><a href=javascript:homePage()>设为首页</a></li>

</ol>

看的明白么,这是本人曾经做过的一个同功能的风格切换JS

测试就不用了,现在页面用的好好的,你看看满意么?

=============

你发给我的代码我看过了,我发了邮箱回复给你了,你看看

1、持久型跨站:最直接的危害类型,跨站代码存储在服务器(数据库)。

2、非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。

3、DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。

扩展资料:

跨站脚本攻击产生的原因是网站过于相信用户的输入,那么解决的办法也很直接,就是从根本上不相信用户的任何输入。一个安全的网站应当对任何用户的任何输入都要进行检查,特别是对用户提交到服务器中保存的数据,更要做筛选。

这种攻击与反射型攻击不同的是,它会把自己的攻击代码保存在网站的服务器上,这样,任何访问了这个页面的用户,都会受到这个攻击。

参考资料来源:

百度百科-跨站脚本攻击

<html>

<head>

<link ID="skin" rel="stylesheet" type="text/css">

<title>动态换肤技术</title>

<script language="javascript" type="text/javascript">

<!--

function SetCookie(name,value)

{

var argv=SetCookie.arguments

var argc=SetCookie.arguments.length

var expires=(2<argc)?argv[2]:null

var path=(3<argc)?argv[3]:null

var domain=(4<argc)?argv[4]:null

var secure=(5<argc)?argv[5]:false

document.cookie=name+"="+escape(value)+((expires==null)?"":("expires="+expires.toGMTString()))+((path==null)?"":("path="+path))+((domain==null)?"":("domain="+domain))+((secure==true)?"secure":"")

}

function GetCookie(Name)

{

var search = Name + "="

var returnvalue = ""

if (document.cookie.length >0)

{

offset = document.cookie.indexOf(search)

if (offset != -1)

{

offset += search.length

end = document.cookie.indexOf("", offset)

if (end == -1)

end = document.cookie.length

returnvalue=unescape(document.cookie.substring(offset,end))

}

}

return returnvalue

}

var thisskin

thisskin=GetCookie("nowskin")

if(thisskin!="")

skin.href=thisskin

else

skin.href="css.css"

function changecss(url)

{

if(url!="")

{

skin.href=url

var expdate=new Date()

expdate.setTime(expdate.getTime()+(24*60*60*1000*30))

//expdate=null

//以下设置COOKIES时间为1年,自己随便设置该时间..

SetCookie("nowskin",url,expdate,"/",null,false)

}

}

//-->

</script>

</head>

<body>

<P>请选择下面的下拉菜单测试换肤效果

<p><a href=# onClick="changecss('css.css')">css.css</a><a href=# onClick="changecss('css1.css')">css1.css</a><a href=# onClick="changecss('css2.css')">css2.css</a><a href=# onClick="changecss('css3.css')">css3.css</a></p>

<p>

<select name="select" onChange="changecss(this.value)">

<option>选择样式单文件</option>

</select>

</p>

<select name="select" onChange="changecss(this.value)">

<script language="javascript">

var csss=new Array()

csss[0]="css.css"

csss[1]="css1.css"

csss[2]="css2.css"

csss[3]="css3.css"

var i

for(i=0i<4i++)

if(thisskin==csss[i])

document.write("<option value=\""+csss[i]+"\" selected>"+csss[i]+"样式单文件</option>")

else

document.write("<option value=\""+csss[i]+"\">"+csss[i]+"样式单文件</option>")

</script>

</select>

</body>

</html>