簡體   English   中英

如何在我的greasemonkey腳本中提供一個鏈接來備份GM _---值數據庫?

[英]How can I provide a link inside my greasemonkey script to backup the GM_---value database?

我目前正在使用GM_setValue和GM_getValue將數據存儲在我在Greasemonkey中制作的用戶腳本中。 我希望能夠輕松地將數據保存在sqlite數據庫中,GM將所有數據存儲在腳本本身中。

例如,創建一個在頁面右上角顯示“備份數據”的鏈接。 單擊時,它將直接下載.sqlite文件,或者它的JSON.stringify()'d值。

這是可能的嗎? 我試圖從這里采用代碼: 在JavaScript中創建文本文件,但它是丑陋的罪惡,一個大規模的黑客工作,並且需要使用unsafeWindow.open()我無法想象當/如果我最終擁有一個100k字符長的JSON字符串

你可以用這種方式創建一個可下載的文件

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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM