繁体   English   中英

Chrome 扩展响应 TypeError:无法读取未定义的属性“文本”

[英]Chrome extension response TypeError: Cannot read property 'text' of undefined

我从 background.js 中的 var hello 得到了响应数据,但在控制台中我得到了这一行“request.greeting.text ===“varhello””这个错误:

事件处理程序中的错误:TypeError:无法读取 chrome-extension://jmekelgdokcelbkancdgfgagmiopdlpl/background.js:53:30 处未定义的属性“文本”

内容.js:

var varHello = {
    image_url: 'www.google.com',
    text: "varhello"
};
chrome.runtime.sendMessage(
    {greeting: varHello}, function(response) {
    console.log(response.farewell);
});

背景.js:

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        console.log(sender.tab ?
            "from a content script:" + sender.tab.url :
            "from the extension");

        if (request.greeting.text === "varhello"){
            sendResponse({farewell: "goodbye"});
            console.log(request.greeting);
        }
        //console.log(request.greeting.toString());
    });

等待您的解决方案拥有干净的控制台:-) tnx!

看起来在某个时间点 request.greeting 是未定义的。 用 ?。 运算符,请观看ES2020以获取更多信息,例如: request.greeting?.text of if (request.greeting && request.greeting.text === "varhello")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM