A JavaScript script only works on Internet Explorer when the Internet Explorer Developer Toolbar is visible

走远了吗. 提交于 2019-12-03 22:30:57

Without your having quoted any code, one has to guess.

My guess is that you're using console.log (or one of the other console methods) in your code. On IE8 and IE9, the console object doesn't exist until/unless the developer tools are open. Strange but true.

You should be getting script errors along the lines of "console is undefined" when you don't have the dev tools open.

Because of this, and because console doesn't exist in every browser (certainly not IE6 or IE7, which still combined make up about 18% of the general browsing users), it's best not to include them in production code or to check proactively that console exists before using it.

Is your script accessing or running any methods that are only available when the developer toolbar is open, such as console.log? For example, running console.log when console is undefined because the developer toolbar isn't open will cause an exception to be thrown.

Kyle Baker

As mentioned in a similar question, use this code (in a script tag at the top of your page before other script tags, preferably):

(function() {
    var method;
    var noop = function () {};
    var methods = [
        'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
        'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
        'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
        'timeStamp', 'trace', 'warn'
    ];
    var length = methods.length;
    var console = (window.console = window.console || {});

    while (length--) {
        method = methods[length];

        // Only stub undefined methods.
        if (!console[method]) {
            console[method] = noop;
        }
    }
}());

or find a more up to date version of this same code here: https://github.com/h5bp/html5-boilerplate/blob/master/src/js/plugins.js

This just solved that same issue for me.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!