Chrome扩展逻辑不正确

Chrome extension logic is not wοrking

本文关键字:不正确 扩展 Chrome      更新时间:2023-09-26

我已经设法让我的大部分Chrome扩展正常工作,但有一个问题我无法解决。

如果需要,您可以在这里获取它,并将其作为未打包的扩展加载。

加载后,它的工作方式是这样的。

  1. 系统会提示您需要在选项页面上输入URL。

  2. 根据要求在选项页面上输入URL(例如http://example.com),然后单击保存,然后当您单击工具栏中的图标时,您可以看到弹出窗口中显示的网页。

  3. 如果您随后从选项页面中删除URL并单击保存,则弹出窗口不会显示他们在开始时看到的原始提示页面。

我认为这个代码(来自popup.js)有问题,但我不明白为什么它不起作用。

var url = localStorage.url;
var alturl = chrome.extension.getURL("need-to-enter-url.html");
var element = document.getElementById("testerURL");
if (url != undefined || url != null) {
element.src = url;
} else {
element.src = alturl;
};

当您"删除"url时,实际上是在保存一个空字符串。localStorage.url = "",所以您的值检查失败。我还建议调整if逻辑,使其更加清晰。

使用类似的东西:

if (url === undefined || url === null || url === "") {
    element.src = alturl;
} else {
    element.src = url;
}

您可以选择依赖JavaScript的真实性。

if (url) {
    element.src = url;
} else {
    element.src = alturl;
}