根据浏览器和分辨率不同自动调用CSS样式表

网络整理 - 07-26

在网上一找还真找到了不少,但都是克隆的别无二样,于是把网页上的代码放到网页上,但没有效果具是气死人,由于对脚本的不熟悉,只好请教他人最终问题终于解决了!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码</title>
<link href="" rel="stylesheet" type="text/css" />
<script language="jscript">
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
var IE1024="style1.css";
var IE800="style2.css";
var IE1152="css1.css";
var IEother="css1.css";
ScreenWidth(IE1024,IE800,IE1152,IEother)
}else{
if (window.navigator.userAgent.indexOf("Firefox")>=1)
{
//如果浏览器为Firefox
var Firefox1024="style1";
var Firefox800="style2.css";
var Firefox1152="css1.css";
var Firefoxother="css1.css";
ScreenWidth(Firefox1024,Firefox800,Firefox1152,Firefoxother)
}else{
//如果浏览器为其他
var Other1024="css1.css";
var Other800="css1.css";
var Other1152="css1.css";
var Otherother="css1.css";
ScreenWidth(Other1024,Other800,Other1152,Otherother)
}
}
function ScreenWidth(CSS1,CSS2,CSS3,CSS4){
if ((screen.width == 1024) && (screen.height == 768)){
setActiveStyleSheet(CSS1);
}else{
if ((screen.width == 800) && (screen.height == 600)){
setActiveStyleSheet(CSS2);
}else{
if ((screen.width == 1152) && (screen.height == 864)){
setActiveStyleSheet(CSS3);
}else{
setActiveStyleSheet(CSS4);
}}}
}
function setActiveStyleSheet(title){document.getElementsByTagName("link")[0].href=""+title;}
</script>
</head>
<body>
</body>
</html>


解释:

var IE1024="";
var IE800="";
var IE1152="";
var IEother="";
引号里面分别填写,用户使用IE的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名.

var Firefox1024="";
var Firefox800="";
var Firefox1152="";
var Firefoxother="";
引号里面分别填写,用户使用FF的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名.

var Other1024="";
var Other800="";
var Other1152="";
var Otherother="";
引号里面分别填写,用户使用其他浏览器的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名.

关键代码:

1.<link href="" rel="stylesheet" type="text/css" />注意连接为空。
2. document.getElementsByTagName("link")[0].href=""+title; 其中href中为样式表的位置,本文用了同级所以没有写。
3.本文只用了两个样式,定义了不同背景色以示区别不同。