在 chrome 或 firefox 中每次重新加载时将 JS 数组保存到文件?

Save a JS array to file on every reload in chrome or firefox?

我有一个 JS 数组,它的值在我每次重新加载浏览器时都会改变。每次重新加载页面时,我都想记录数组数据(在文件中或附加到即使在重新加载后仍保留的临时变量)。

我尝试了 this 脚本,但它必须在每次重新加载后手动执行。知道吗,我怎样才能做到这一点?

感谢@Sebastian 的评论和 this 脚本,我能够创建一个用户脚本并实现我想要的。

这是我创建的用户脚本。

// ==UserScript==
// @name         MyScript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        <url>
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==

(function(console){
  console.save = function(data, filename){
    if(!data) {
      console.error('Console.save: No data')
      return;
    }
    if(!filename) filename = 'console.json'
    if(typeof data === "object"){
      data = JSON.stringify(data, undefined, 4)
    }
    var blob = new Blob([data], {type: 'text/json'}),
        a    = document.createElement('a')
    var e = new MouseEvent('click', {
        view: window,
        bubbles: true,
        cancelable: false
        });
    a.download = filename
    a.href = window.URL.createObjectURL(blob)
    a.dataset.downloadurl =  ['text/json', a.download, a.href].join(':')
    a.dispatchEvent(e)
  }
})(console)

// Create an incremental file name
var lastIndex = sessionStorage.getItem('arr')
sessionStorage.setItem('arr', ++lastIndex)
var fileName = 'dataset-' + lastIndex + '.json'

// Save the file
console.save(array, fileName)
console.log(fileName + ' saved.')

然后我还禁用了 Firefox 中的“每次保存下载时询问”选项,以便在没有提示的情况下保存文件。