如何以编程方式清除JavaScript控制台?

时间:2015-07-07 06:51:10

标签: javascript browser console

我们如何在Chrome,Firefox和其他浏览器中清除控制台。 我尝试了以下命令,但没有一个正常工作:

Chrome: clear()

Firefox: console.clear()

有什么想法吗?

3 个答案:

答案 0 :(得分:17)

对于每个浏览器,它都是不同的,因此您可以编写一些脚本,以便它可以用于不同的浏览器。 或者您可以使用此脚本

console.API;

if (typeof console._commandLineAPI !== 'undefined') {
    console.API = console._commandLineAPI; //chrome
} else if (typeof console._inspectorCommandLineAPI !== 'undefined') {
    console.API = console._inspectorCommandLineAPI; //Safari
} else if (typeof console.clear !== 'undefined') {
    console.API = console;
}

console.API.clear();

也适用于其他浏览器。

注意:在适用于Mac OS的Safari v9.1和适用于Mac OS的Chrome v52.0 中成功测试(编辑后,08/2016)

答案 1 :(得分:0)

在Firefox中,自2019年7月25日起,我首先尝试输入:

console.API.clear();

但是,这在控制台中显示一条消息:console.API未定义。 因此,闻到上面给出的答案可能是正确的,但不完全是正确的,然后我在控制台中键入了以下内容:

console.clear();

那行得通,控制台被清除,并显示一条消息,表明控制台已被清除。我不知道它是否可以在Firefox之外的任何其他浏览器中使用,当然,我只知道它今天可以使用。

答案 2 :(得分:0)

将在5年后;-),但如果有什么用,这里是使用 TypeScript 的@ govind-mantri出色答案,避免了TSLint错误/提示:

    private clearConsole() {

        // tslint:disable-next-line: variable-name
        const _console: any = console;
        // tslint:disable-next-line: no-string-literal
        let consoleAPI: any = console['API'];

        if (typeof _console._commandLineAPI !== 'undefined') {                // Chrome
            consoleAPI = _console._commandLineAPI;

        } else if (typeof _console._inspectorCommandLineAPI !== 'undefined') { // Safari
            consoleAPI = _console._inspectorCommandLineAPI;

        } else if (typeof _console.clear !== 'undefined') {                    // rest
            consoleAPI = _console;
        }

        consoleAPI.clear();
    }