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

Javascript 如何使用脚本附加大量数据?,javascript,tampermonkey,Javascript,Tampermonkey,我的脚本为站点上的每个页面添加了一些注释,它需要几MB的静态JSON数据来知道将哪种注释放在哪里 现在,我只是将它与var data={…}一起作为脚本的一部分,但这对于维护和编辑来说真的很麻烦 有更好的方法吗?我只能想到两个选择: 将它嵌入到脚本中,但为了保持可维护性(几兆字节意味着您的编辑器可能不太喜欢它),您将它放在另一个文件中。并向工作流中添加一个编译步骤以将其连接起来。由于您要添加一个编译,您还可以修改您的脚本,以便第一次下载时可能会稍微快一点 使用。把它放在你的Web服务器上,Ama

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

现在,我只是将它与
var data={…}
一起作为脚本的一部分,但这对于维护和编辑来说真的很麻烦


有更好的方法吗?

我只能想到两个选择:

  • 将它嵌入到脚本中,但为了保持可维护性(几兆字节意味着您的编辑器可能不太喜欢它),您将它放在另一个文件中。并向工作流中添加一个编译步骤以将其连接起来。由于您要添加一个编译,您还可以修改您的脚本,以便第一次下载时可能会稍微快一点

  • 使用。把它放在你的Web服务器上,AmazonS3或者更好的CDN上。确保它是服务器可访问和gzip的,这样就不会因为每页都被下载而减慢客户端网络的速度!如果您希望定期更新数据,但不希望更新脚本(我认为tampermonkey不支持自动更新),则此解决方案将工作得更好


  • 我只能想到两个选择:

  • 将它嵌入到脚本中,但为了保持可维护性(几兆字节意味着您的编辑器可能不太喜欢它),您将它放在另一个文件中。并向工作流中添加一个编译步骤以将其连接起来。由于您要添加一个编译,您还可以修改您的脚本,以便第一次下载时可能会稍微快一点

  • 使用。把它放在你的Web服务器上,AmazonS3或者更好的CDN上。确保它是服务器可访问和gzip的,这样就不会因为每页都被下载而减慢客户端网络的速度!如果您希望定期更新数据,但不希望更新脚本(我认为tampermonkey不支持自动更新),则此解决方案将工作得更好


  • 我的赌注肯定是使用tampermonkey提供的特殊存储功能:
    GM_getValue
    GM_setValue
    GM_deleteValue
    。您可以根据需要在那里存储对象

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


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

    我的打赌肯定是使用tampermonkey提供的特殊存储功能:
    GM_getValue
    GM_setValue
    GM_deleteValue
    。您可以根据需要在那里存储对象

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


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

    是否有许多页面或站点,或者只有一个站点?也许包括一个可以帮助我们更好地研究它的数据样本?它是一个静态JSON嵌套哈希,脚本根据该哈希决定在单个网站的所有页面(可能)上注释各种内容。除了散列的大小之外,一切都很简单。有很多页面或站点,还是只有一个站点?也许包括一个可以帮助我们更好地研究它的数据样本?它是一个静态JSON嵌套哈希,脚本根据该哈希决定在单个网站的所有页面(可能)上注释各种内容。除了散列的大小之外,一切都很简单。有没有在tampermonkey上下文中使用jsonp的例子?如果我需要与服务集成,我会使用jsonp it。我还没有看到很多tempermonkey脚本来说明:)在tampermonkey的上下文中有没有使用jsonp的例子?如果我需要与服务集成,我会使用jsonp it。我还没有看过很多这样的脚本:)