2015-03-18 7 views
0

Мне удалось получить большую часть моего расширения chrome, но есть проблема, которую я не могу решить.Неисправен логика расширения 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; 
}; 

Любая помощь приветствуется.

ответ

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; 
} 
+0

Спасибо за объяснение. Это имеет смысл, и это работает. Приветствия. – user3256143

Смежные вопросы