【发布时间】:2022-10-18 02:42:45
【问题描述】:
我有一个 fn,它在调用时创建和填充变量 linkedinInsight。
只是对这个 fn 的快速概述,它将检查响应数据并查看是否有匹配项。如果是,它将用数据填充linkedinInight 变量。
使用三元运算,当变量未定义时,我无法显示“未定义”。
linkedinInsight === undefined ? "undefined" : "Variable exist"
但是,如果 fn 匹配,我可以看到 "Variable exist" 显示。
在变量为undefined的情况下,
从控制台,它显示
Error handling response: TypeError: Cannot read properties of undefined (reading 'insight_tags')
at chrome-extension://fpncfpgjnkfnlafmojhhpgophpgikaao/popup.js:13:60
这里的目标是呈现数据,如果我们找不到数据,我想返回“数据未找到消息”。
有帮助吗?
document.addEventListener(
"DOMContentLoaded",
function () {
var checkPageButton = document.getElementById("clickIt");
checkPageButton.addEventListener(
"click",
function () {
chrome.tabs.getSelected(null, function (tab) {
const backgroundPage = chrome.extension.getBackgroundPage();
const linkedinInsight =
backgroundPage["_linkedin_pixel_data"][tab.id].insight_tags;
alert(
linkedinInsight === undefined ? "undefined" : "Variable exist"
);
【问题讨论】:
-
也许尝试
typeof linkedinInsight === 'undefined'而不是linkedinInsight === undefined?你能告诉我这是否有效吗? -
问题在于在线
backgroundPage["_linkedin_pixel_data"][tab.id].insight_tags;-backgroundPage["_linkedin_pixel_data"][tab.id]返回undefined,因此当您尝试从中读取insight_tags时,您会收到无法从undefined读取insight_tags的错误。 -
是的,Vlaz 是对的。问题是没有读取insight_tags 的错误。
-
解决方案:是为了确保我们解决错误。
const linkedinInsight = backgroundPage?.["_linkedin_pixel_data"]?.[tab.id]?.insight_tags;
标签: javascript google-chrome-extension conditional-operator