Как я могу предоставить ссылку внутри моего скрипта greasemonkey для резервного копирования базы данных GM-value?
В настоящее время я использую GM_setValue и GM_getValue для хранения данных в userscript, который я сделал в Greasemonkey. Я хотел бы иметь возможность легко сохранять данные в базе данных sqlite, в которой GM хранит все данные, из самого скрипта.
Для exmaple создайте ссылку с надписью "резервное копирование данных" в правом верхнем углу страницы. При нажатии, он будет загружать либо .SQLite файл напрямую, или JSON.stringify () ' d его значение.
Возможно ли это? Я попытался перенять код отсюда: создать текстовый файл на JavaScript но это уродливо как грех, массовая халтура, и требует использования unsafeWindow.open (), который я не могу себе представить, будет масштабироваться хорошо, когда/если у меня будет строка JSON длиной 100k символов
1 ответ:
U может создать загружаемый файл таким образом
function download(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); }
Вы можете вызвать эту функцию
download('filename.sqlite', 'your-db');