如何使用tampermonkey脚本附加大量数据?

时间:2014-05-14 23:01:22

标签: javascript tampermonkey

我的脚本为网站上的每个页面添加了一些注释,它需要几MB的静态JSON数据才能知道要放在哪里的注释。

现在我只用var data = { ... }包含它作为脚本的一部分,但维护和编辑真的很难。

有没有更好的方法呢?

2 个答案:

答案 0 :(得分:2)

我只能想到两个选择:

  1. 将其嵌入到您的脚本中,但为了保持可维护性(几兆字节意味着您的编辑可能不喜欢它),您将其放在另一个文件中。并在您的工作流程中添加一个编译步骤以将其连接起来。由于您正在添加编辑,因此您也可以更新您的脚本,以便第一次下载速度稍快一些。

  2. 使用jsonp动态获取。把它放在你的网络服务器上,亚马逊s3甚至更好,一个CDN。确保它将是服务器可缓存和gzip压缩,因此它不会通过在每个页面上下载来减慢客户端网络的速度!如果您想定期更新数据,而不是脚本(我认为tampermonkey不支持自动更新),此解决方案将更好地工作。

答案 1 :(得分:2)

我的赌注绝对是使用tampermonkey提供的特殊存储功能:GM_getValueGM_setValueGM_deleteValue。只要需要,您就可以将对象存储在那里。

首次运行时,只需从服务器下载一次数据。如果它只是供您自己使用 - 您甚至可以直接将所有数据从控制台直接插入变量或使用临时textarea,并让脚本将该值保存为GM_setValue

这样,您甚至可以通过将不相关的对象存储在不同的GM变量中来优化脚本的速度。