当先锋百科网

首页 1 2 3 4 5 6 7
  • listener 监听器在调用时 在回调函数执行完调用sendResponse() 若没被调用则响应undefined ; 若 return true 会异步调用sendResponse()
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse){
    console.log('content-script 2 收到消息', request);
    if(request.message === 'autoReply'){
        console.log('cs-dd.js 3秒后执行了自动回复')
/*         
        // 正常在这里写 sendResponse 是没有 会提的 background.js 会正常打印 response
        sendResponse({
            message: "content-script 2 已经收到"
        });
 */
        setTimeout(()=>{
            // 在这个异步 中进行 sendResponse 时候 background.js 打印的 response 为 undefined
            sendResponse({
                message: "content-script 2 执行了自动回复"
            });

            // do something ....
            // autoReply( request.data );
        }, 3000)
    }
    // onMessage 返回 true 时候 sendResponse 就可以写在异步当中了
    // return true;
});