显示 OpenOffice 文件(.odt 和 .odp) )在网络浏览器中,需要先解压缩它们。虽然 inflate.js 可能不足以完成此任务,但有一个强大的 JavaScript 解决方案可以异步解压缩 ZIP 文件。
已经开发了 JavaScript 解压缩器,其中包含 Andy G.P. 的元素。 Na 的二进制文件阅读器和 Notmasteryet 的 RFC1951 膨胀逻辑。 ZipFile 类处理核心功能。
以下 JavaScript 代码演示了解压缩器的用法:
// Instantiate a ZipFile and provide a callback for when the ZIP is read. zipFile = new ZipFile(url, doneReading); // The doneReading callback is triggered when the ZIP is read and handles the extraction of entries. function doneReading(zip) { extractEntries(zip); } // Extract entries from the ZIP file. function extractEntries(zip) { for (var i = 0; i < zip.entries.length; i++) { var entry = zip.entries[i]; // Create an entry info div. var entryInfo = "<h4><a>" + entry.name + "</a></h4>\n<div>"; // Create a unique ID for the accordion panel and inject the extracted content into it. var randomId = "id-" + Math.floor((Math.random() * 1000000000)); entryInfo += "<span class='inputDiv'><h4>Content:</h4><span id='" + randomId + "'></span></span></div>\n"; $("#report").append(entryInfo); // Asynchronously extract the entry and pass a callback. entry.extract(extractCb(randomId)); } } // Extract callback function to add the extracted content to an accordion on the page. function extractCb(id) { return (function(entryName, entryText){ var content = entryText.replace(new RegExp( "\n", "g" ), "<br/>"); $("#"+id).html(content); $('#report').accordion('destroy'); $('#report').accordion({collapsible:true, active:false}); }); }
虽然 JavaScript 解压程序实现了其目的,但它面临某些限制:
以上是如何使用 JavaScript 在 Web 浏览器中异步解压缩文件?的详细内容。更多信息请关注PHP中文网其他相关文章!