我对 Javascript 比较陌生,目前正在制作一个 Violentmonkey 脚本。 在我的脚本中,我有一个相对较大的字符串想要压缩,但我不知道如何做到这一点,因为我发现的大多数方法仅在使用外部库的情况下(我不知道是否或如何在 Violentmonkey 中使用) .
那么在 Violentmonkey 中压缩字符串的最佳方法是什么? 预先感谢😊
您可以
@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();
})();