javascript - 浏览器实际上可以将多少 JavaScript 加载到内存中?

标签 javascript angularjs browser

我正在从事一个大项目,使用 jQuery 前端在 RoR 中编写。我正在添加具有智能依赖注入(inject)的 AngularJS,但我想知道的是在页面变得明显变慢之前我可以在页面上放置多少 javascript?每个浏览器的具体限制是什么?

假设我的代码被很好地分解并且所有操作都在恒定时间内运行,那么在浏览器达到限制之前我可以在 javascript 中分配多少函数、对象和其他东西(必须有一个,因为任何计算机都有有限数量的 RAM 和磁盘空间(尽管磁盘空间对于使用 javascript 来说是一个雄心勃勃的限制)

我在网上看过,但我只看到有人询问他们可以加载多少 Assets ,即我可以加载多少兆字节等。我想知道是否存在浏览器和它们有何不同

-- 编辑--

对于高度挑剔的人,我想一个更好的问题是

How does a modern web browser determin the limit for the resources it allocates to a page? How much memory is a webpage allowed to use? How much disk space can a page use?

显然我使用 AJAX,我对渲染优化了解得相当多。这不是我怎样才能使我的页面更快的问题,而是我的资源限制是什么?

最佳答案

虽然从技术上讲,达到客户端机器的极限听起来是一项艰巨的任务,但实际上很容易通过意外循环达到这些极限。每个人都至少做过一次!

测试很容易,编写一个将使用大量内存的 JS 循环,您会发现您的 PC 的内存使用量会停止,并且确实会消耗您的虚拟内存,然后浏览器就会崩溃。

我想说,根据经验,即使您没有达到您所谈论的技术极限,访问者/用户的耐心极限也会先于资源耗尽。

如果加载时间成为问题,也许值得研究一下 AJAX 解决方案,以便一次加载页面的相关部分。

关于javascript - 浏览器实际上可以将多少 JavaScript 加载到内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31595322/

相关文章:

angularjs - 在 angularjs 应用程序中包含 tripadvisor 小部件

angularjs - Typescript 类装饰器扩展方法

angularjs - $在点击处理程序内部编译而不是插值

c# - 如何检测用户何时开始在浏览器中下载文件?

c# - 如何在 Webbrowser 控件中禁用 "Security Alert"窗口

javascript - 如何通过 Fabric.js 仅单击实际内容来选择对象

javascript - 是否可以使用 jQuery/javascript 每隔 x 像素重复放置一个 DIV

html - 有没有办法让 iFrame 中的链接重定向到其源?

javascript - 单击按钮并根据检查 b 中的设置值输出消息并打开新页面

javascript - 将处理程序从 jquery 元素附加到另一个元素