在一些现有代码中,有一个测试,通过检查对象 Browser.Engine.trident 是否已定义并返回 true 来查看用户是否正在运行 IE。
但如何确定用户运行的是 IE6(或更早版本)还是 IE7(或更早版本)?
JavaScript 函数内部需要进行测试,因此条件注释似乎不合适。
From 更有效地检测 Internet Explorer http://msdn.microsoft.com/en-us/library/ms537509.aspx在msdn:
function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer')
{
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat( RegExp.$1 );
}
return rv;
}
function checkVersion()
{
var msg = "You're not using Internet Explorer.";
var ver = getInternetExplorerVersion();
if ( ver > -1 )
{
if ( ver >= 6.0 )
msg = "You're using a recent copy of Internet Explorer."
else
msg = "You should upgrade your copy of Internet Explorer.";
}
alert( msg );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)