如果Devtools未打开,则发送给Devtools的消息

时间:2016-07-19 13:55:16

标签: google-chrome google-chrome-devtools

如果我将消息从后台页面发送到devtools面板,但devtools面板未打开,我希望这些消息在打开时发送。我不确定如何实施这个。

1 个答案:

答案 0 :(得分:1)

https://github.com/sindresorhus/devtools-detect是一个库,可以让您检测devtools是否打开。因此,如果您已确定devtools已关闭,请将您的消息推送到堆栈,然后在您检测到devtools已打开后记录这些消息。

var logStack = [];

function myLog(msg) {
    if(!window.devtools.open) logStack.push(msg);
    else console.log(msg);
}

window.addEventListener('devtoolschange', function (e) {
    if(!e.detail.open) return;
    while(logStack.length > 0) {
        console.log(logStack.shift());
    }
});