0

Для Firefox у меня есть страница, загружаемая на новую вкладку после нажатия кнопки значка браузера. Фоновый сценарий для страницы выполняется в первый раз, но не при перезагрузке страницы, снова нажав кнопку с уже открытой вкладкой или после закрытия вкладки и открытия другой. Мне нужно перезагрузить сценарий, заставляя расширение быть выгруженным/перезагруженным, чтобы он работал правильно. Есть ли что-то в манифесте, которое мне нужно включить? Исходный сценарий расширения не загружается, если не был сохранен

manifest.json

Обновление: Я изолированных мою проблему в приведенном ниже коде. При повторном обновлении страницы или нажатии кнопки действия браузера выполнение переходит и пропускает по xhr.onreadystate = function() и так никогда не доходит до Main(). За все, что было запрошено/получено, xhr.onreadystate не меняется.

Обновление 2: Выполнение одного прохода через главное() из трех. Все переменные сохраняют свои значения с первого прогона и, кажется, закручивают вещи. Как очистить их после перезагрузки страницы или щелчка по значку браузера?

function GetData(request) 
 
{ 
 
    var xhr = new XMLHttpRequest(); 
 
    
 
    xhr.onreadystatechange = function() 
 
    { 
 
    console.log(xhr.readyState + " : " + xhr.status) 
 
    if (xhr.readyState == 4 && xhr.status == 200) 
 
    { 
 
     re_data = JSON.parse(xhr.responseText); 
 
     Main(); 
 
    } 
 
    } 
 
    
 
    xhr.open("GET", request, true); 
 
    xhr.send(); 
 
}

+0

Нет, что находится в * manifest.json *, не должно приводить к описанию. Нам понадобится * complete * [mcve], чтобы узнать, что происходит (например, ваши файлы * background.js * и * modify_page.js * или, по крайней мере, достаточно их, чтобы дублировать проблему. – Makyen

ответ

0

Я понял вопрос и решение. Я забыл, как только открытый сценарий открыт, он остается открытым на всю жизнь расширения. Таким образом, переменные не сбрасываются. любые переменные, подлежащие сбросу, должны быть сброшены вручную. Что касается перезагрузки страницы, перезагружается только веб-страница, а не код, который необходимо перезапустить вручную (отправляется соответствующей функции) в ответ на кнопку, ссылку или что-то еще.