Chrome扩展程序逻辑无效

时间:2015-03-18 04:09:22

标签: javascript google-chrome google-chrome-extension

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

如果需要,可以在此处抓取并将其加载为解压缩的扩展程序:http://www.filedropper.com/tester

加载后就像这样工作。

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

2)您在选项页面上输入一个URL(例如http://digg.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;
};

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

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

使用类似的东西:

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

您可以选择依赖JavaScript's truthiness

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