Я использую скрипт TamperMonkey в FireFox со следующими библиотеками: jQuery 2.1.4, Dexie.js, json2html 1.2.0 и Bootstrap 3.4.0. Я пытаюсь сохранить объект Dexie (для базы данных Dexie) в локальном хранилище TamperMonkey с помощью GM.setValue('unique-dexie-db-name', dexieDBvariable);
Однако, когда я иду, чтобы получить это значение (например, я сохраняю это на google.com и получаю это на yahoo.com ) с var dexieDB = GM.getValue('unique-dexie-db-name');
Мое возвращаемое значение объекта не является объектом базы данных Dexie, а скорее чем-то другим, что я не могу использовать в качестве базы данных.
Мой вопрос: я не уверен, но я думаю, что при сохранении этой базы данных Dexie в TamperMonkey она сохраняется в виде строки, и я должен попытаться как-то полностью преобразовать объект в строку, чтобы иметь возможность воспроизводить и воссоздавать его, когда Мне это нужно в вызове GM.getValue()
. Как сохранить этот объект Javascript в виде строки, чтобы иметь возможность снова получить значение в целом позже?
JSON.stringify()
то, что вы храните с помощьюsetValue
. ЗатемJSON.parse()
то, что вы получите с помощьюgetValue
. - person Brock Adams   schedule 13.09.2019GM.getValue(tmObj)
по крайней мере в 1 экземпляре, где это необходимо. - person Brock Adams   schedule 14.09.2019let openDBFromFile = JSON.parse(data);
в единственном случае else во фрагменте — подумал, что это могло быть там, где мне это было нужно, поскольку функция, возвращаемая исходным обещанием «tmDBObj», имеетdata
в возвращаемой функции — но это дало мне ошибку при попытке запросить его -TypeError: openDBFromFile.logHistory.where is not a function
- любые намеки или подсказки? - person Nick Bell   schedule 14.09.2019