如果控制台关闭,Javascript无法在Internet Explorer上运行

时间:2016-01-28 16:12:19

标签: javascript internet-explorer console.log

我用一些JavaScript编程菜单。它在Chrome或Firefox上运行正常,但在Internet Explorer上它没有。好吧,只有当IE的控制台打开时才会这样做。如果我再次关闭它,它就不起作用。 我读过它可能与console.log有关;但我的文件中没有console.log个文字。

更新: IE版:11

这是我的Javascript和HTML代码:

<div class="cuenta-menu logged">
    <div class="cuenta">
        <a href="#cuenta-menu-cuenta" class="c-menu c-menu-cuenta" onclick="setActive(0);return false;">
            <p>
            Cuenta
            </p>
        </a>
    </div>
    <div class="facturaciones">
        <a href="#cuenta-menu-facturaciones" class="c-menu c-menu-facturaciones" onclick="setActive(1);return false;">
            <p>
            Facturaci&oacute;n
            </p>
        </a>
    </div>
    <div class="direcciones">
        <a href="#cuenta-menu-direcciones" class="c-menu c-menu-direcciones" onclick="setActive(2);return false;">
            <p>
            Direcciones
            </p>
        </a>
    </div>
    <div class="pedidos">
        <a href="#cuenta-menu-pedidos" class="c-menu c-menu-pedidos" onclick="setActive(3);return false;">
            <p>
            Pedidos
            </p>
        </a>
    </div>
</div>
<div id="cuenta-menu-cuenta" class="c-menu-content">
    Contingut información de la cuenta
</div>

<!-- Search -->

<div id="cuenta-menu-facturaciones" class="c-menu-content">
    <h1>Contingut facturaciones</h1>
    <div>

    </div>
</div>

<!-- Account -->

<div id="cuenta-menu-direcciones" class="c-menu-content">
    Contingut direcciones
</div>

<!-- Cart -->

<div id="cuenta-menu-pedidos" class="c-menu-content">
    Contingut pedidos
</div>
<script>
    function detectIE() {
        var ua = window.navigator.userAgent;

        var msie = ua.indexOf('MSIE ');
        if (msie > 0) {
            // IE 10 or older => return version number
            return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
        }

        var trident = ua.indexOf('Trident/');
        if (trident > 0) {
            // IE 11 => return version number
            var rv = ua.indexOf('rv:');
            return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
        }

        var edge = ua.indexOf('Edge/');
        if (edge > 0) {
           // Edge (IE 12+) => return version number
           return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
        }

        // other browser
        return false;
    }
    function isActive(act)
    {
        if(detectIE()) {
            if(act.getAttribute('class').indexOf('c-menu-active')>-1)
                return true;
            else
                return false;   
        }
        else {
            if(act.getAttribute('class').includes('c-menu-active'))
                return true;
            else
                return false;
        }
    }
    function setActive(numero)
    {
        var skiplink = document.getElementsByClassName('c-menu')[numero];
        if(isActive(skiplink))
        {
            setNonActive(skiplink);
        }
        else
        {
            setNonActives();
            setIsActive(skiplink);
        }
    }
    function setNonActives()
    {
        var skiplinks = document.getElementsByClassName('c-menu');
        for(i=0;i<skiplinks.length;i++)
        {
            setNonActive(skiplinks[i]);
        }
    }

    function setIsActive(act)
    {
        act.setAttribute('class',act.getAttribute('class') + ' c-menu-active');
        var idelem = document.getElementById(act.getAttribute('href').replace('#',''));
        idelem.setAttribute('class',idelem.getAttribute('class') + ' c-menu-active');
    }

    function setNonActive(act)
    {
        act.setAttribute('class',act.getAttribute('class').replace(' c-menu-active',''));
        var idelem = document.getElementById(act.getAttribute('href').replace('#',''));
        idelem.setAttribute('class',idelem.getAttribute('class').replace(' c-menu-active',''));
    }
    $(document).ready(function(){
        $('#logout_a').click(function(){
            window.location.href='home.php';
        });
    });
</script>

如何在控制台关闭的情况下让它在IE中运行?

1 个答案:

答案 0 :(得分:0)

我最终通过它抛出jQuery而不是DOM,现在它可以在任何浏览器中运行。