Violentmonkey 如何压缩字符串

问题描述 投票:0回答:1

我对 Javascript 比较陌生,目前正在制作一个 Violentmonkey 脚本。 在我的脚本中,我有一个相对较大的字符串想要压缩,但我不知道如何做到这一点,因为我发现的大多数方法仅在使用外部库的情况下(我不知道是否或如何在 Violentmonkey 中使用) .

那么在 Violentmonkey 中压缩字符串的最佳方法是什么? 预先感谢😊

javascript compression userscripts greasemonkey-4 violentmonkey
1个回答
1
投票

您可以

@require
将CDN链接到lz-string库,并使用它来解压缩预编码的base64字符串。

使用

LZString.compressToBase64
对原始字符串进行编码并将其存储在脚本中,如下所示:

// ==UserScript==
// @name        Display Gettysburg Address
// @namespace   Stack Overflow
// @match       https://stackoverflow.com/questions/75940976/*
// @grant       none
// @version     1.0.0
// @author      Mr. Polywhirl
// @description Displays the Gettysburg Address from a Base64 lz-string
// @require     https://cdnjs.cloudflare.com/ajax/libs/lz-string/1.4.4/lz-string.min.js
// ==/UserScript==
(function() {
  'use strict'
  const main = () => {
    const decompressedText = LZString.decompressFromBase64(compressedText.trim());
    alert(decompressedText);
  };

  // https://people.sc.fsu.edu/~jburkardt/m_src/ncm_test/gettysburg.txt
  const compressedText = `
      GIewrgTgzgxiEFMAEBDAdgEyVBA3BaSAngitKgOYhLgRIBmKALgBYLkBGE4FLTD8VjUKsAllABQcN
      E1FoC/FEnkB3Zc1Eg0AGiTSYCUfixykAG1Ed2TIqkxIMCDKJjMnSJtVYIJAB26+IFCisloeLMyoZm
      ZIALYEqIh6iG5YCACOYChmAHQSAHIgairIZMgEFCgU7qZKFCn8MEaiMSpkukwIULJoFEgqbN50rJF
      oGloS8Ha2Y6GEUNT6hsZ2WAsOTi6peujmWn0EGJAIOUgA6qWIEvH8YXUNSBzMTGbI9KIIZlgg9OGR
      bRBThckBF8HoQPEPNRHM5XJ1UH5BJpCD8/vx3p8MLoUFBUAw5NkkIhunI+r4zCgDAJhiwgsgBtQ2F
      dKmDvKI6BZ8LiRvweeo5nFRLx+JyTkgAJL8cRRTzVIYSd5MHp9dBYfwgXzsNH9ZBQWlgL4OLwscR5
      ABCYCYulq5jI1ToODQOF0JR2hDQIH4MK28IAtDq3cpPeCnQgYBA3BJ/a7XO7gxFokUkP6xLj6uBMK
      cACpsR4RsHxHTmZq9VYbFBYiQM7BMCBgCgUV5YJkIXSg5DSHDh7YhXSMOgoDggMG0JCBKaBErDEAS
      CvfOiOWuUpjZ3MqeCGlQtGIWJWvIOdXQejn7IkIeKxKwQF0RJhV3UoWwt3QcS1IEKB+T4Oj0eBy/q
      3uECC2M4zbsGKkrvriv4QBIYDcrmnKkroEZDB01BWBssLbC2UJAUgYBoO8aDiGwWDrhAADWVYmjAL
      BAbY1a/vWfAguBIIoKyLDwQwZDYNQHocGYtgVrg6AGBgpyQeIEioUy1IEdyGHILh3pwu4nj4fUpC8
      jilFnrEKByKSEhWDByA8SmgH0NwsRATgIJaPA7iOBWAZMCglHIHI4akDgWCOLgnrIhIml8q48FvFM
      AwuPR3i2CyyDeLa3QMAaMTxDixw0L8gXBRMVn/Cp7EmrwwlngsZhcZE3gOa5awJjEHr8O2DgfCYaA
      SGJpiFbyJq4rMyK6IRjh0AA4iAWLYI1HFgkoqiPOyQg/AqiBOBCyZlnyVDfmgha3L8yWahqrwvrYR
      0ICdrYKd4fiXeS116tkTXBpqECkQwtn4aQECsDkQA=
  `.replace(/\s+/g, '');

  main();
})();
© www.soinside.com 2019 - 2024. All rights reserved.