html>
<head>
<title>Browser Detection</title>
<script language="Javascript">
var browser = "xxxxxxxxxxxxxxxxxxx"
if (parseInt(navigator.appVersion) >= 5 || navigator.appVersion.indexOf("MSIE 5") != -1) {
browser="DOM";
}
else if (navigator.userAgent.indexOf("Mozilla/4") != -1)
{
if (navigator.appName.indexOf("Netscape") != -1)
browser="NS4";
if (navigator.appVersion.indexOf("MSIE 4") != -1)
browser="IE4";
}
else
browser="Other";
</script>
</head>
<body>
<h1>Browser Detection Example</h1>
<script language="Javascript">
document.write("browser detected: " + browser + "<br>");
</script>
</body>
</html>
<head>
<title>Browser Detection</title>
<script language="Javascript">
var browser = "xxxxxxxxxxxxxxxxxxx"
if (parseInt(navigator.appVersion) >= 5 || navigator.appVersion.indexOf("MSIE 5") != -1) {
browser="DOM";
}
else if (navigator.userAgent.indexOf("Mozilla/4") != -1)
{
if (navigator.appName.indexOf("Netscape") != -1)
browser="NS4";
if (navigator.appVersion.indexOf("MSIE 4") != -1)
browser="IE4";
}
else
browser="Other";
</script>
</head>
<body>
<h1>Browser Detection Example</h1>
<script language="Javascript">
document.write("browser detected: " + browser + "<br>");
</script>
</body>
</html>
{
…………
} document是一个对象,在IE浏览器中,all是这个对象的一个属性。所以document.all是一个已定义的值(实际上它是一个对象)。在要用到布尔值的环境下。一个对象被转换为真。
在NN浏览器中。all不是document对象的属性。所以document.all返回一个未定义值。这个值在用到布尔值的环境下被转换成假。
如果你在NN浏览器中为document对象定义一个名为all的属性,那么不可预料的事情就会发生了!!!