停了好几天,不好意思,这几天一直在忙考试的事,也许以后时间也不是太多,但我想应该可以间断的把这章讲完!
早期的javascript里,浏览器检测主要用于判断是否可以应用图象的翻转技术。现在无所谓了,高版本的IE和netscape都可以支持。为了学习思想我们还是找一个这样的例子来看一下:
<html>
<head>
<title>A smart Rollover Page</title>
<script language="JavaScript">
var browserName=navigator.appName;
var browserVersion=parseInt(navigator.appVersion);
var browser;
//Determine whether rollovers are supported
if((browserName == "Netscape" && browserVersion >= 3) || (browserName == "Microsoft Internet Explorer" && browserVersion >=4 )
) {
browser = "rollover";
}
else {
browser ="norollover";
}
</script>
</head>
<body>
<a href="travel.html" onMouseOver="if (browser==’rollover’) document.travel.src=’travel_on.gif’;"><img name="travel src="travel_off.gif" border="0" height="77" width="83"></a>
</body>
</html>
现在浏览器检测通常用在使用动态HTML(DHTML)的网页中,这种技术非常以来于浏览器的版本。
浏览器的检测方法大致相同,就不要在多说了。
如果你使用了许多浏览器专用的特性,可能就要为不同的浏览器使用不同的网页,尤其是这些特性显著地影响网页的整体效果和功能时,这时候你可以考虑用
单框架法。
在这种方法里,脚本检测浏览器的类型,然后为用户创建一单独内容的矿家,并在那个框架里显示适合那种浏览器的内容。
单框架法是解决不同浏览器问题的最简单最可靠的方法。这种方法也具有通明性,由于使用了单独的框架,用户不会看到框架边框,只是一个网页。
<html>
<head>
<title>A Smart DHTML Page</title>
<base target="_top">
<script language="JavaScript">
var browserName=navigator.appName;
var browserVersion=parseInt(navigator.appVersion);
var browser;
if (browserName=="Netscape" && browserVersion >=5) {
browser="nn6up";
}
else if (browserName =="Netscape" && browserVersion ==4;) {
browser="nn4";
}
else if (browserName == "Microsoft Internet Explorer" && browserVersion >=4) {
browser = "ie4up";
}
//Frame for IE 4 or later with Microsoft-specific Dynamic HTML
if (browser == "ie4up") {
document.write(’<frameset rows="100%,*"frameborder="no" border ="0"’);
document.write(’marginheight="5" marginwidth="5">’);
document.write(’<frame src="ms_dhtml.html" scrolling="auto">’);
document.write(’</frameset>’);
}
//Frame for Netscape 6 with DOM-standard DHTML
else if (browser == "nn6up") {
document.write ...
...
document.write(’<frame src="dom_dhtml.html" scrolling="auto">’);
...
}
else if (browser == "nn4") {
...
}
</script>
</head>
<body bgcolor="#ffffff">
<!-- This is what earlier browsers see;it shouldn’t contain any DHTML -->
</body>
</html>
这里最多的是关于辨认浏览器的规则,而一开始我们看到的<base>是确保所有没有指向一个框架或窗口的链接,都载入顶曾的浏览器窗口!
再一个就是样式表的问题,这里就不多说了!
这一讲暂时就到这,下一讲的内容是关于插件的检测! |