Jquery代码无法在Internet Explorer上运行

时间:2018-04-13 03:29:24

标签: jquery internet-explorer-11

我有这个代码,在使用不同的浏览器时会隐藏某些HTML代码。这是代码:

<script type="text/javascript">
    $(document).ready(function () {
    var is_chrome = !!window.chrome && !is_opera;
    var is_explorer= typeof document !== 'undefined' && !!document.documentMode && !isEdge;
    var is_firefox = typeof window.InstallTrigger !== 'undefined';
    var is_safari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
    var is_opera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;

    if(is_chrome || is_firefox)
    {
      $('#otherbrowser').hide();
    }
    else
    {
      $('#logOut').hide();
    }

 });
</script>

当我使用safari和谷歌浏览器时,它可以工作,但当我尝试使用Internet Explorer时,它不会隐藏#otherbrowser。什么似乎是问题?任何帮助,将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

您的代码缺少变量isEdge,这就是它在IE中不起作用的原因。只需删除isEdge条件或为其添加定义。

同时在is_explorer条件中添加if。这样它就会隐藏IE中的#otherbrowser部分。

 $(document).ready(function () {
    var is_chrome = !!window.chrome && !is_opera;
    var is_explorer= typeof document !== 'undefined' && !!document.documentMode && !isEdge;
    var isEdge = navigator.userAgent.indexOf('Edge') > 0;
    var is_firefox = typeof window.InstallTrigger !== 'undefined';
    var is_safari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
    var is_opera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;

    if(is_chrome || is_firefox || is_explorer)
    {
      alert("condition passed");
    }
    else
    {
      alert("condition failed");
    }

 });