我正在开发包含JavaScript的网页。 这个js使用静态字符串数据(约1-2 MB),其被存储在平面文件。 我可以用gzip或其他算法来减少传输负载压缩。
有没有可能取得与阿贾克斯这个二进制文件,它解成字符串在客户端浏览器(我以后可以拆分)。 如果是的话,我怎么能做到这一点? 有没有人有一个代码示例?
我正在开发包含JavaScript的网页。 这个js使用静态字符串数据(约1-2 MB),其被存储在平面文件。 我可以用gzip或其他算法来减少传输负载压缩。
有没有可能取得与阿贾克斯这个二进制文件,它解成字符串在客户端浏览器(我以后可以拆分)。 如果是的话,我怎么能做到这一点? 有没有人有一个代码示例?
而另一个库或网站是这一个,虽然它有几个例子,它有一些全面的测试案例,可以看出。
https://github.com/imaya/zlib.js
下面是一些复杂的测试用例https://github.com/imaya/zlib.js/blob/master/test/browser-test.js https://github.com/imaya/zlib.js/blob/master /test/browser-plain-test.js
该代码示例似乎很紧凑。 就在这两行代码...
// compressed = Array.<number> or Uint8Array
var gunzip = new Zlib.Gunzip(compressed);
var plain = gunzip.decompress();
如果你看这里https://github.com/imaya/zlib.js/blob/master/bin/gunzip.min.js你看到他们有包装的js文件,你将需要包括。 您可能需要包括一个或两个人的https://github.com/imaya/zlib.js/blob/master/bin 。
在任何情况下获得这些文件到您的网页,然后喂gunzip文件从服务器对象的预gzip压缩的数据,然后将它作为预期。
您将需要下载的数据,并让它进入使用其他功能的阵列自己。 我不认为他们包括支持。
因此,尝试下载这些例子来自https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Sending_and_Receiving_Binary_Data
function load_binary_resource(url) {
var req = new XMLHttpRequest();
req.open('GET', url, false);
req.overrideMimeType('text\/plain; charset=x-user-defined');
req.send(null);
if (req.status != 200) return '';
return req.responseText;
}
// Each byte is now encoded in a 2 byte string character. Just AND it with 0xFF to get the actual byte and then feed that to GUnzip...
var filestream = load_binary_resource(url);
var abyte = filestream.charCodeAt(x) & 0xff; // throw away high-order byte (f7)
=====================================还存在的Node.js
问题是类似于最简单的方法来下载和Node.js的跨平台解压缩文件?
有一个在文档的NodeJS此示例代码。 我不知道它是如何更具体的获得比... http://nodejs.org/api/zlib.html
刚刚启用你的Apache的Gzip压缩,一切都将自动完成。
也许你将不得不字符串存储在.js文件作为JSON和启用JS MIME类型的gzip。
我记得我用JS-缩小与大型数据库关闭茯苓JS应用程序(需要由于本地存储限制)和完美。 这取决于JS-的base64 。