如何阻止JavaScript函数在IE中运行而不在其他浏览器中运行?

如何阻止JavaScript函数在IE中运行而不在其他浏览器中运行?,javascript,jquery,Javascript,Jquery,因此,我有一个javascript函数,可以在单击站点中的链接时运行 $('.mainNavWrap .preloadNav a, .bannerNav li a').click(function(event){ event.preventDefault(); linkLocation = this.href; $('.preloader2').fadeIn(100, redirectPage); }); function redirectPage() { set

因此,我有一个javascript函数,可以在单击站点中的链接时运行

$('.mainNavWrap .preloadNav a, .bannerNav li a').click(function(event){
    event.preventDefault();
    linkLocation = this.href;
    $('.preloader2').fadeIn(100, redirectPage);
});
function redirectPage() {
    setTimeout(function(){
        window.location = linkLocation;
    }, 1000);

}
该函数在页面重定向之前调用预加载程序。如何禁用ie8的整个功能?

方法一

注意:除非包含jQueryMigrate插件,否则这在jQuery1.9或更高版本中不起作用

方法二

()

将其添加到html中:

<!doctype html>
<!--[if IE 8 ]>    <html class="ie8"> <![endif]-->
方法一

注意:除非包含jQueryMigrate插件,否则这在jQuery1.9或更高版本中不起作用

方法二

()

将其添加到html中:

<!doctype html>
<!--[if IE 8 ]>    <html class="ie8"> <![endif]-->

jQuery具有查看浏览器是否是任何形式的MSIE的功能

if (!$.browser.msie) {
   // jquery function
}

jQuery具有查看浏览器是否是任何形式的MSIE的功能

if (!$.browser.msie) {
   // jquery function
}

检查SVG支持,因为ie8不支持ie8 代码如下:-

 if (navigator.userAgent.toLowerCase().indexOf('msie') != -1) {
 if (!document.createElement('SVG').getAttributeNS) {
     if (document.createElement('DATA').getAttributeNS) {
       //the browser is defently IE8
         return;
      }
   }
}
else
{
//call your function
}
或者另一种方式是:- 用于检查ie8的函数

function isIE () 
{
  var myNav = navigator.userAgent.toLowerCase();
  return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false;
 }

 if (isIE () == 8) {
  // IE8 code
 } else {
   // Other versions IE or not IE
  }

检查SVG支持,因为ie8不支持ie8 代码如下:-

 if (navigator.userAgent.toLowerCase().indexOf('msie') != -1) {
 if (!document.createElement('SVG').getAttributeNS) {
     if (document.createElement('DATA').getAttributeNS) {
       //the browser is defently IE8
         return;
      }
   }
}
else
{
//call your function
}
或者另一种方式是:- 用于检查ie8的函数

function isIE () 
{
  var myNav = navigator.userAgent.toLowerCase();
  return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false;
 }

 if (isIE () == 8) {
  // IE8 code
 } else {
   // Other versions IE or not IE
  }

也许你可以试试这个:

        var ua = window.navigator.userAgent;
        var msie = ua.indexOf("MSIE ");
        if (msie > 0)
        {
           /* CODING SPECIFIC TO IE BROWSER */
           if (parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))) == 8)
           {   /* CODING SPECIFIC TO IE8*/}
        }   
        else                 
        {
             /* CODING FOR OTHER BROWSERS*/
         }
    }

也许你可以试试这个:

        var ua = window.navigator.userAgent;
        var msie = ua.indexOf("MSIE ");
        if (msie > 0)
        {
           /* CODING SPECIFIC TO IE BROWSER */
           if (parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))) == 8)
           {   /* CODING SPECIFIC TO IE8*/}
        }   
        else                 
        {
             /* CODING FOR OTHER BROWSERS*/
         }
    }

如果用户代理与IE8匹配,则返回false。通常不建议使用浏览器嗅探,但这几乎是唯一一种不需要点击更多浏览器的方法


这是从手机上写的,所以请原谅格式错误

如果用户代理与IE8匹配,则返回false。通常不建议使用浏览器嗅探,但这几乎是唯一一种不需要点击更多浏览器的方法


这是从手机上写的,所以请原谅格式错误

检查这个@AnoopJoshi是对的,同样的问题。检测用户代理并使用正则表达式检查是否在特定范围内。顺便说一句,这里有一个更特殊的导航器对象引用,请参见我编辑的答案。检查这个@AnoopJoshi是否正确,同样的问题。检测用户代理并使用正则表达式检查是否在特定范围内。顺便说一句,还有一个更特殊的导航器对象引用请参见我编辑的答案。$。浏览器在jquery 1.9$中被删除。浏览器在jquery 1.9$中被删除。浏览器在jquery 1.9$中被删除。浏览器在jquery 1.9中被删除。非IE8浏览器也不支持SVG,所以你会用这种方法访问太多浏览器然后你可以使用第二种方法非IE8浏览器也不支持SVG,所以你会用这种方法访问太多浏览器然后你可以使用第二种方法这很好。非常感谢:这很有效。非常感谢:D