javascript Chrome扩展程序值不会从if-else语句中传递出去

yk9xbfzb  于 2023-01-16  发布在  Java
关注(0)|答案(1)|浏览(104)

我正在编写一个Chrome扩展程序,它可以将网页上的数据传递到一个文件中并下载下来。最终,文件会以黑曜石的形式保存下来,方便记笔记。只要所有字段都存在,这个扩展程序在大多数情况下都能正常工作,所以我开始引入一些代码来应对那些元素不存在的情况。
例如,这是原始代码:

const ogImage = document.querySelector('meta[property="og:image"]');
const og_image = ogImage.content;

og:image标记不存在于页面中之前,这是正常工作的。下面是我为处理这个问题而编写的代码:

const ogImage = document.querySelector('meta[property="og:image"]');
if (ogImage != "") {
  const og_image = ogImage.content;
  console.log(og_image);
} else {
  const og_image = "https://---/vvMtZvn.jpg";
  console.log(og_image);
};

根据页面的不同,控制台将输出正确的值。但是,如果我尝试使用此代码之外的值,则会出现错误。下面代码块中的控制台将回复:Uncaught ReferenceError: og_image is not defined

const ogImage = document.querySelector('meta[property="og:image"]');
if (ogImage != "") {
  const og_image = ogImage.content;
} else {
  const og_image = "https://i.imgur.com/vvMtZvn.jpg";
};

console.log(og_image);

我一直在寻找,但没有找到答案。也许我问错了问题。任何帮助将不胜感激。

cbjzeqam

cbjzeqam1#

请试试这个。

let og_image;
    const ogImage = document.querySelector('meta[property="og:image"]');

    if (ogImage != null) {
      og_image = ogImage.content;
      console.log(og_image);
    } else {
      og_image = "https://---/vvMtZvn.jpg";
      console.log(og_image);
    };

相关问题