Javascript JSX压缩机的使用

Javascript JSX压缩机的使用,javascript,Javascript,我正在尝试使用来自的jsxcompressor 但在我开始行动之前,我遇到了一个问题: 未捕获的TypeError:无法读取未定义的属性“0” 我的简单示例代码如下所示: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="/jsxcompressor.js" type="text/javascript"><

我正在尝试使用来自的jsxcompressor

但在我开始行动之前,我遇到了一个问题:

未捕获的TypeError:无法读取未定义的属性“0”

我的简单示例代码如下所示:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="/jsxcompressor.js" type="text/javascript"></script>
    <script type="text/javascript">
        document.write(JXG.decompress("test")); 
    </script>
</head>
<body></body>
</html>

编写(JXG.解压缩(“测试”));
我知道“test”并不完全是一个压缩字符串,但只是把它放在那里作为测试的开始

chrome js控制台的错误如下:

有人能帮我吗?
非常感谢

JXG.decompress必须提供一个base64编码的压缩字符串。试试这个:

document.write(JXG.decompress("eNrzSM3JyVc1clY1MijPL8pJUTVwBAA8CgXU")); 
此时,必须调用压缩强度等于9的gzip。获取压缩字符串的PHP代码如下所示:

base64_encode(gzcompress(rawurlencode(file_get_contents($filename)),9));
base64.b64encode(zlib.compress(urllib.quote(text), 9))
在Python中,它将如下所示:

base64_encode(gzcompress(rawurlencode(file_get_contents($filename)),9));
base64.b64encode(zlib.compress(urllib.quote(text), 9))

给出的答案是正确的,尽管我想使用zlib for node.js贡献我的发现


在使用zlib.deflate发送套接字消息时,即使字符串是base64编码的,我也会遇到同样的错误。显然,deflate方法向压缩字符串添加了一些zlib头。相反,使用zlib.gzip压缩服务器上的数据,jsxCompress可以正常工作。

好吧,也许使用非zlib压缩字符串是个问题。您是否尝试传递正确的值?看看
JXG.Util.Base64.decodeAsArray('test')
返回的内容。如果它看起来正常,将结果传递给
new JXG.Util.Unzip(result)
,调用它的
Unzip
方法,等等。看起来
decompress
需要一个Base64编码的字符串。如果您传递的字符串不是那样编码的,我不希望该方法能够工作。感谢您的建议,我刚刚尝试使用base64编码的字符串,但仍然存在相同的问题。问题是,由于错误没有深入到下面的函数中,我怀疑第一行的JXG失败了,因此JXG.Util中的Util可能无法访问。JXG是否可以未定义,因此在这一点上没有任何属性?感谢您提供的示例测试字符串。这让我意识到默认的c#gzip压缩最终是问题所在。使用ionic的zlib实现和您推荐的压缩级别9,最终为JXG生成了一个兼容的字符串,感谢并希望这能帮助其他尝试使用c#字符串压缩和JXGCompressor的人。是的,压缩强度9为我修复了它!谢谢