JavaScript 浏览器兼容性

时间:2019-08-20 13:50:46  来源:igfitidea点击:

理解不同浏览器之间的差异是很重要的,这样才能以预期的方式处理每种浏览器。
所以知道你的网页在哪个浏览器上运行是很重要的。

要获取网页当前运行的浏览器的信息,请使用内置的navigator对象。

Navigator属性

我们可以在Web页面中使用几个与导航器相关的属性。

属性说明
appCodeName此属性是一个字符串,其中包含浏览器的代码名,Netscape (Netscape)和Microsoft Internet Explorer (Internet Explorer)。
appVersion此属性是一个字符串,其中包含浏览器的版本以及其他有用信息,如浏览器的语言和兼容性。
language此属性包含浏览器所使用语言的两个字母的缩写。
mimTypes []此属性是一个数组,其中包含客户端支持的所有MIME类型。
platform[]此属性是一个字符串,它包含为其编译浏览器的平台。
plugins[]此属性是一个数组,包含已安装在浏览器上的所有插件。
userAgent []此属性是一个字符串,其中包含浏览器的代码名和版本。

navigator的方法

方法说明
javaEnabled ()此方法确定是否在客户机中启用了JavaScript。
plugings.refresh此方法使新安装的插件可用,并使用所有新插件名称填充插件数组。
preference(name,value)此方法允许经过签名的脚本获取和设置一些Netscape首选项。
taintEnabled ()如果启用了数据污染,此方法返回true;

浏览器检测

如何使用JavaScript判断浏览器类型:

var userAgent   = navigator.userAgent;
var opera       = (userAgent.indexOf('Opera') != -1);
var ie          = (userAgent.indexOf('MSIE') != -1);
var gecko       = (userAgent.indexOf('Gecko') != -1);
var netscape    = (userAgent.indexOf('Mozilla') != -1);
var version     = navigator.appVersion;

if (opera) {
   console.log("Opera 浏览器");
} else if (gecko) {
   console.log("Mozilla 浏览器");
} else if (ie) {
   console.log("IE 浏览器");
} else if (netscape) {
   console.log("Netscape 浏览器");
} else {
   console.log("Unknown browser");
}

console.log("浏览器版本: " + version );