我的问题是以下
是否有可靠的javascript代码来检测浏览器是否为IE(我不关心其他人)
我找到了一些脚本,但它在 FF 中生成了一个未定义的错误。
我编辑了我的问题,因为我在这个论坛上找到了一些正则表达式服务器端解决方案现在已经足够了。
谢谢,理查德
我的问题是以下
是否有可靠的javascript代码来检测浏览器是否为IE(我不关心其他人)
我找到了一些脚本,但它在 FF 中生成了一个未定义的错误。
我编辑了我的问题,因为我在这个论坛上找到了一些正则表达式服务器端解决方案现在已经足够了。
谢谢,理查德
您可以在此处找到使用条件标签进行 IE 检测的非常有用的技术。
<!DOCTYPE your favorite doc type>
<html>
<head>...</head>
<body>
<!--[if IE]>
<div id="IEroot">
<![endif]-->
<p id="IE">This browser is IE.</p>
<p id="notIE">This browser is not IE.</p>
<!--[if IE]>
</div>
<![endif]-->
</body>
</html>
您可以使用它并在它之间放置脚本标签来定义仅适用于 IE 的 Javascript 操作。
您可以使用 Javascript 或 jQuery 检查浏览器。Javascript 提供了 Navigator 对象,您可以使用它进行检查:
function getBrowserName()
{
if(navigator.appName=="Microsoft Internet Explorer") {
alert("This is " + navigator.appName + " Browser");
}
}
您可以在这里查看示例:http: //www.codegateway.com/2012/09/detect-ie-browser-javascript.html
并且 jQuery 具有浏览器对象,我们可以使用它来检测浏览器,例如:
function getBrowser()
{
if ($.browser.msie) {
alert('IE');
}
}
请参阅此处的示例:http: //www.codegateway.com/2012/09/detect-ie-browser-jquery.html
<script type="text/javascript">
function getInternetExplorerVersion()
{
var rv = -1;
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 >= 8.0 )
msg = "You're using a recent copy of Internet Explorer."
else
msg = "You should upgrade your copy of Internet Explorer.";
}
alert( msg );
}
</script>
navigator.userAgent
可以使用。以下检测浏览器是否为 IE 版本 <= 9:
var browserIEInfo = navigator.userAgent.match(/MSIE (([0-9]+)(\.[0-9]+)?)/);
if (browserIEInfo === null || parseInt(browserIEInfo[2]) > 9){
// code for non IE or for IE version > 9
}
// code for IE <= 9