İki işlevim var: saveData()
ve loadData()
. saveData()
, tüm nesnelerin içinden geçer ve (varsayılan olarak) ile bir dize kimliği ve değeri ayarlar ve daha sonra loadData()
ile döndürülür. Şimdi, sözde söylüyorum çünkü işe yaramıyor. Uygulamanın yeniden başlatılmasının sonucu, son giriş kaydedilen yalnızca olur.chrome.fileSystem - birden fazla dosya girişini geri al/geri yükle?
//I have an array
//called 'fileEntries'
//which the user adds fileEntry objects to
//when they add a tab or open a file
var fileEntries = [];
function saveData(){
fileEntries.forEach(function(entry){
//the string id should just be the
//index of the entry object within the array
//so something like '1' or '2'
var stringID = fileEntries.indexOf(entry),
value = chrome.fileSystem.retainEntry(entry);
chrome.storage.local.set({ stringID : value });
});
}
function loadData(){
chrome.storage.local.get({stringID : null}, function(result){
chrome.fileSystem.restoreEntry(result.stringID, function(entry){
//adds the resulting entry into the array
fileEntries.push(entry);
})
})
}
Nasıl yardım edeceğini bilen var mı? Beni gerçekten rahatsız ediyor, boşuna başka bir yöntem denedim. Herhangi bir yardım büyük ölçüde takdir edilecektir :)
Soru net değil: Birden çok dosya girişini nasıl kaydedebilirim ve daha sonra chrome fileSystem API'sini kullanarak bunları tek tek geri yükleyebilirim?
Tamam, ben düzenledim ve sonuç aynı kalıyor. Sorun kodun bir parçası değildi. Bunun bir endeksin kendisinden ziyade 'indeks' değeri ('1' veya '2' veya herhangi bir sayı) 'indeks' olarak okunması gerekir. _individually_ dizisindeki her nesne için giriş nesnesine bir sayı değeri ayarlamak ve daha sonra girdileri ayrı ayrı olarak almak ve sahip olduğum 'fileEntries 'dizisine eklemek için ona ihtiyacım var. Cevabınız için teşekkürler, kodumu biraz temizledim! – Devplex
@Devplex 'entry 'nesnesinin dizinini' fileEntries' içinde veya 'entry' nesnesinin kendisinin bir özelliğinden mi almaya çalışıyorsunuz? – guest271314
Bu XD'lerin hiçbiri çok açık olmasaydım özür dilerim. FileEntries'i tek tek ayarlamak ve bunları ayrı ayrı almak istiyorum. Bunu yaptıktan sonra 'fileEntries' dizisine ekleyin. 'StringID', her nesnenin saklanmasını istediğim şeydir ve 'entry 'nesnesi' chrome.fileSystem.retainEntry() 'işlevine iletildiğinde,' value 'sonuç kimliği olur. – Devplex