Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何处理大型html/js文件?_Javascript_Html_Large Files - Fatal编程技术网

Javascript 如何处理大型html/js文件?

Javascript 如何处理大型html/js文件?,javascript,html,large-files,Javascript,Html,Large Files,我正在编写基于HTML/JS的报告,这些报告应该由一个文件组成。因此,当前报告的大小为500KB,但效果相当不错。然而,当你想在Chrome中看到源代码时,它可能会冻结。我正在编写的一份新报告包含更多数据,目前约为1.5MB。在Chrome上看到源代码几乎是不可能的,我担心这会在速度较慢的设备上造成麻烦 有什么建议吗?最佳实践?我在谷歌上搜索过Stackoverflow,但我找不到任何关于大小限制或html/js代码布局的建议,以便于浏览器理解。(我从其他语言中知道,C++,例如,存在如何使大文

我正在编写基于HTML/JS的报告,这些报告应该由一个文件组成。因此,当前报告的大小为500KB,但效果相当不错。然而,当你想在Chrome中看到源代码时,它可能会冻结。我正在编写的一份新报告包含更多数据,目前约为1.5MB。在Chrome上看到源代码几乎是不可能的,我担心这会在速度较慢的设备上造成麻烦

有什么建议吗?最佳实践?我在谷歌上搜索过Stackoverflow,但我找不到任何关于大小限制或html/js代码布局的建议,以便于浏览器理解。(我从其他语言中知道,C++,例如,存在如何使大文件更好地为编译器消化的提示,导致编译得更快)。 编辑:当前报告的代码大小为99%HTML。(桌子)这些桌子后来用油漆装饰起来。不幸的是,删除所有JS代码没有什么区别。顺便说一句,我已经尝试过删除空白(1.5 MB->1.1 MB)并从数组中加载数据,而不是将它们存储在硬编码的html
tr
td
元素(1.5 MB->1.6 MB)中,但性能特征没有改变

它是静态文件,问题也发生在本地


第二次编辑:我现在将其余的硬编码表内容转换为JS数组,并删除了空格,进一步减小了大小。现在该文件的大小为900 kB,加载效果显著提高,冻结时间仅为3-5秒。

在Chrome中查看源代码不会导致冻结。页面渲染快还是慢?如果是后者,则可能是流氓JavaScript运行的迹象。你能把代码贴出来让我们看看吗?另外,您使用的是什么web服务器?您可以尝试使用
GZip Compression
JSCompress
之类的方法来减小页面大小


JS和CSS通常都不是html页面源代码的一部分,因此压缩它们不会影响源代码查看器。@ThiefMaster-这取决于页面上是否嵌入了javascript/CSS。OP没有提供代码,所以我假设他们已经将所有代码都放在一个文件中,因为他说
应该由一个文件组成
all,谢谢你的建议。页面呈现速度相当快。可以快一点,但没问题。这个问题在没有任何JS代码的情况下也会发生,请参见编辑后的问题。Darren,我将尝试将数据存储为JS数组,然后对其进行压缩。(不幸的是,这增加了一个外部依赖项,在jscompress的情况下是UglifyJS+节点)尝试减少混乱。您应该将内容与代码分开。尝试使用XML以结构化的方式存储内容,使用JavaScript检索和操作内容,使用HTML和CSS显示内容,并将其保存在单独的、较小的文件中,因此,当您要求提供源代码时,它实际上是您正在查看的代码,并且以紧凑合理的方式呈现。是的,但我不喜欢这种解决方案。当前解决方案的优点是:与PDF、Word或Excel报表一样,您可以通过电子邮件将其存储和备份为一个独立的文件。与PDF相比,它完全独立于平台,事实上它甚至可以与文本浏览器一起工作。也许在一个自包含的文件中进行整合应该是开发之后的最后一步。您可以尝试将该过程自动化,以便可以将报告作为一个文件交付和读取,但也可以将其分解为多个部分,并在必要时将其重新组合在一起,以便进行源代码编辑。如果一开始你没有做太多的修改,那么可能不值得做额外的工作,但无论如何,在我看来,处理1.5MB的文本文件并不是一个好的开发方法……报告当然是动态生成的,所以模板可读性很好。但对于调试,我需要使用
curl
。不过,我还是通过拆分来接受您的想法:我将生成一个在线版本(多个文件)和一个简单的下载版本(一个文件)。我通过一些简单的基于字典的压缩,成功地将大小压缩到300KB。现在一切都好了。无论如何,我仍然想知道是否基本上不可能合理地处理大于1MB的HTMLs。