v 您现在的位置:八十年代交流网 ->>教 程 区》版   文字大小:[][][默认]

v 第1/1页
跳至
[刷新]

主题: [顶楼] javascript教程-第六章-第一讲-识别浏览器
邮寄到我的邮箱
打印本页
收藏本贴

作者:蓝の羽(litao2001cn)发表于2003-12-15 12:38:19

在很久很久以前,江湖忽然风起云涌,在当中有两个帮派统治着世界,他们就是HTML和NCSA Mosaic。许多日子过去了,一个叫Netscape Navigator的武林高手创造了一种叫HTML扩展的工夫,开始在自身标明“支持Netscape扩展”。当然,每个门派的功夫是不会外传,也就是说“Mosaic中的人不会用。后来,一个新兴的帮派Microsoft带着它的INternet Explorer出现了,顿时间,江湖风浪再起,Mosaic渐渐退出最强的竞争,Microsoft和Netscape两大帮派为了利益不断的扩展HTML,还好的是,它们都可以支持JavaScript。
再后来,Netscape被America Online吞并,但仍然将他们的工夫提升到第六级:Netscape 6,如今已是Netscape 7,但IE已经占据了天下。当然有些人还在联系低级的版本,所以,我们这些卖武器的问题就来了:如何判断用户端使用的浏览器类型从而相应的修改你的网站呢?

如何知道什么浏览器在访问我的站点

navigator对象提供了有关浏览器的信息,无论该浏览器是Netscape Navigator,Internet Explorer还是其他什么!
表1:浏览器对象的属性
navigator.appName 浏览器的名字
navigator.appVersion 浏览器的版本
navigator.userAgent 浏览器的”用户代理“,这是浏览器或可以访问WEB的阅读器使用的官方术语,如手持设备或WEBTV。
表2:不同浏览器上的navigator属性
-------------------------------------------------------------

http://www.our80s.com/album/album/20031215131157.gif

-------------------------------------------------------------
我们可以像访问其他对象一样来访问navigator对象。
如:document.write("Welcome all" + navigator.appName + "users.");
不过没必要这么做,检查浏览器身份的目的是让你的网页(或整个网站)适应不同的浏览器。
现在就让我们来看一个带有浏览器版本检测功能的HTML文档:
<html>
<head>
<title>A Smart Page </title>
<script language="JavaScript">
//check browser name and version and assign ifo to variable
var browserName = navigator.appName;
var browserVersion = ParseInt(navigator.appVersion);
var browser;

if (browserName == "Netscape" && browserVersion == 5) {
browser = "nn6";
}
else if (browserName == "Netscape" && browserVersion == 4) {
browser = "nn4";
}
else if (browserName == "Microsoft Inernet Explorer" && browserVersion == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1) {
browser = "ie6";
}
else if (browserName == "Microsoft Internet Explorer" && browserVersion == 4 && navigator.appVersion.indexOf("MSIE 5.5") !=-1) {
browser ="ie55";
}
else if (browserName == "Microsoft Internet Explorer" && browserVersion == 4 && navigator.appVersion.indexOf("MSIE 5.0") !=-1) {
browser = "ie5";
}
else if (browserName == "Microsoft Internet Explorer" && browserVersion == 4) {
browser = "ie4";
}

//Handle browser-specific code
if (browser == "nn6" || browser == "ie6" || browser == "ie55" || browser == "ie5") {
//Latest JavaScript code goes here
alert("你的浏览器版本是最新的");
}
else if (browser == "nn4") {
//Specific code for Netscape Navigator 4 goes here
alert("你的浏览器版本不是最新的" + brower.appName + brower.appVersion +",建议你更新");
}
else if (browser == "ie4") {
//Specific code for Internet Explorer 4 goes here
alert("你的浏览器版本不是最新的" + brower.appName + brower.appVersion +",建议你更新");
}
</script>
</head>
<body>
<!--This is where standard HTML goes-->
<script>document.write("检测完毕")</script>
</body>
</html>
解释一下:
parseInt是JavaScript内部函数之一 ,用来提取整数部分。
为什么要用indexOf()呢?因为IE的不同版本比Navigator要复杂,Internet wcplorer6,5.5,5,he 4都是返回一个版本号4。这样我们就要appVersion的“MSIE #.#”部分!

在浏览器检测中有很多微笑的差别,不过网上有好多!
http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
大家可以到这里看一下,我英文不是太好,要开金山!

[留言] [回复]
------------------------------
我是那--
在你许愿时
划过天际的那颗流星
燃烧我的生命,给你一刻的灿烂
带着你的祝福
到天堂
把我赤裸的灵魂
交给天使,换你一生的快乐


主题: [2楼] [回复蓝の羽]西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:西帅(fynewsun)发表于2003-12-15 12:39:46

判断浏览器然后自动跳转到相应页可以用DW直接做出来~

[留言] [回复]
------------------------------
一些事是永远都无法明白的
一些人是永远都无法忘记的

/bbs/photo/20031224195539.gif


主题: [3楼] [回复西帅]Re:西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:蓝の羽(litao2001cn)发表于2003-12-15 13:14:09

别吵,我在将方法!

不过我装了MYIE后我的IE属性就给改成了MYIE,奇怪了!

[留言] [回复]
------------------------------
我是那--
在你许愿时
划过天际的那颗流星
燃烧我的生命,给你一刻的灿烂
带着你的祝福
到天堂
把我赤裸的灵魂
交给天使,换你一生的快乐


主题: [4楼] [回复蓝の羽]西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:西帅(fynewsun)发表于2003-12-15 13:17:12

我没用过那个~

[留言] [回复]
------------------------------
一些事是永远都无法明白的
一些人是永远都无法忘记的

/bbs/photo/20031224195539.gif


主题: [5楼] [回复西帅]Re:西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:蓝の羽(litao2001cn)发表于2003-12-15 13:19:14

都是看了大天的帖子的事!

想了半天才想出来是这回事!

怪不得在IE里没有警告出现呢!晕死!~~~~~~~

[留言] [回复]
------------------------------
我是那--
在你许愿时
划过天际的那颗流星
燃烧我的生命,给你一刻的灿烂
带着你的祝福
到天堂
把我赤裸的灵魂
交给天使,换你一生的快乐


主题: [6楼] [回复蓝の羽]西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:西帅(fynewsun)发表于2003-12-15 13:20:20

晕~你怪不得别人,怎么这么容易被左右呢?80spp/019.gif

[留言] [回复]
------------------------------
一些事是永远都无法明白的
一些人是永远都无法忘记的

/bbs/photo/20031224195539.gif


v 第1/1页
跳至
[刷新]

v 您现在的位置:八十年代交流网 ->>教 程 区》版
[返回]

公司简介 - 相关条款 - 站点地图 - 合作信息 - 网站建设 - 广告业务
Copyright  ©  2002-2004  八十年代·版权所有