上一页 首页 下一页

JavaScript高级教程

JavaScript高级教程
JavaScript高级教程 - 第三课
MCHWEB

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

每种浏览器除了有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课 ]



上一页 首页 下一页