您的位置:寻梦网首页编程乐园JavaScriptJavaScript 高级教程
第 1 课 第 2 课 第 3 课 第 4 课 第 5 课

JavaScript高级教程 - 第三课

作者: Thau   

第八页:如何识别用户的浏览器

每种浏览器除了有Document(文件)对象之外还有
Navigator对象,Navigator有两个属性包含着你所使用的浏览
器类型的所有信息:appName and appVersion.

appName是浏览器的类型,如果你用的是Netscape的某种版本,
你的Javascript中可以加入这样一行:
var the_browser_name = navigator.appName;

the_browser_name的值是 "Netscape"。对于 MSIE,
the_browser_name是"Microsoft Internet Explorer" 。所以
如果你想知道某人用的何种浏览器就可以用appName

appVersion是浏览器的版本.其显示信息例子:"4.03 [en]
(Win95; I)"。意思是Netscape version 4.03, English
International, for Win95/NT。将版本号从中提取出来的办法
很简单:只需抓取第1个数字即可。最快捷的办法就是使用函
parseFloat(),它将字符串中第1个数字符号提取出来并返回
数值:

var the_browser_version = navigator.appVersion;
var the_version_number = parseFloat(the_browser_version);

除了版本号之外appVersion别的信息都不是很确切。不同的浏
览器可能会在该字符串中加入各种希奇古怪的东西。

现在我们利用以上获得的信息作一些有用的事。点击下面的按
钮你会看到Navigator最直观的用途。

以下是用到的两个函数。点按钮调用browserSizeUp():


function browserSizeUp()
{
var browser = navigator.appName;
var version = versionNumber();
var the_string = browser + " " + version;

if ((browser  == "Netscape" || browser == "Microsoft Internet Explorer") &&
(version >= 4))

{
alert("The browser doctor says: " + the_string + "?  Now that's a beautiful browser!");
} else {
alert("The browser doctor says: " + the_string + ", Hmm. Maybe it's time to upgrade.");
}
}


function versionNumber() {
  // return version number (e.g., 4.03)
  return parseFloat(navigator.appVersion)
}

会发生什么呢?如果我们检测到的用户的浏览器版本大于4,则
显示一个提示框,否则就显示另外的提示框。在实际的应用中
你常常需要用到document.writeln() 生成适应不同浏览器的
HTML。

用户所看到的页面内容取决于它所使用的浏览器,浏览器的
版本。随着浏览器版本不断增多,又分别应用于不同的操作
平台,你要想浏览器的变化随时保持同步的困难不断加大。

所幸的是还有一种办法可以避免这个问题。>>

JavaScript高级教程
第一页 Javascript高级教程 - 第三课
第二页 如何给事件定时
第三页 定时循环的概念
第四页 定时循环的做法
第五页 一个Javascript编写的时钟
第六页 给定时器加入变量
第七页 识别用户的浏览器
第八页 如何识别用户的浏览器
第九页 对象和方法的识别
第十页 History对象

[第1课][第2课][第3课][第4课][第5课]

来源: Wired Digital Inc.