Я пытаюсь разработать расширение google-chrome, которое требует загрузки данных в формате JSON из файла, который я уже поместил в свою учетную запись Github. Эти данные должны быть установлены один раз, при установке расширения или после его первого открытия. Однако я не могу этого сделать.
Я пытался использовать window.onInstalled , но это не работает. Вот фрагмент из файла popup.js:
for(let i=0;i<tags.length;i++){
chrome.storage.local.get(tags[i],function(data){
console.log(data);
if (typeof data[tags[i]] == 'undefined'){
alert(tags[i] + " Data Not Found");
if(navigator.onLine){
alert("Downloading Data from External Source... May take a while");
$.ajax({
type: 'GET',
url: urls[i],
data: { get_param: 'value'},
dataType: 'json',
complete: function(data){
alert("Download Complete");
htmljson = data.responseJSON;
var len = Object.keys(htmljson).length;
let key = tags[i];
chrome.storage.local.set({key:htmljson},function(){
});
}
});
}
else{
alert("Connection Could not Established. Check your Internet Connection!");
}
}
else{
console.log("Data Not Found");
}
});
}
Теги - это просто массив, в котором есть значение ключа, с которым я хочу отобразить данные в локальном хранилище. Этот код также иногда приводит к загрузке данных несколько раз, прежде чем он начнет работать нормально. Я пытался найти решение в интернете, но не смог найти ничего полезного. Любая помощь или предложение хорошо в отношении того, как я мог бы достичь этого. Если мой метод неверен, подскажите, пожалуйста, как мне его обойти?