gpt4 book ai didi

javascript - 传递给 jQuery.append() 的字符串的大小是否有限制

转载 作者:太空宇宙 更新时间:2023-11-04 13:28:33 25 4
gpt4 key购买 nike

我用 Angular 编写了一个基本程序,它使用路由器功能将两个页面呈现为一个页面应用程序。到目前为止,这就是它所做的一切。我有一个页面,其中包含两个用于导航的按钮,以及一个包装器 div (ng-view),当单击相应的按钮时,它会填充两个页面的内容。

当我尝试加载两个页面中较大的一个时,出现以下错误:

SyntaxError: Unexpected token <

这个错误是从 angular.js:11594 抛出的(我使用的是 1.3.9 版本)。调试后发现jQuery抛出异常,从代码看:

this.empty().append( value );

我查看了输入参数'value',它非常大。它包含 11,000 多行,大小为 1.59 MB。

我在 html 格式检查器 ( http://www.freeformatter.com/ ) 中运行了输入字符串。格式很好,没有多余的开始标签。

难道jQuery的方法不能处理这么大的字符串?我在 Google 上搜索了这样的限制,但我所能找到的只是关于使用 jQuery 应用限制的建议,而文档 ( http://devdocs.io/jquery/append) 没有提到这样的限制。

注意事项:

  1. 我正在使用 jQuery 版本 1.11.0
  2. 我无法更新版本,因为我的团队使用 PrimeFaces,而这是与 PrimeFaces 版本匹配的 jQuery 版本。
  3. 从第 5830 行抛出异常。
  4. 大文件由 JSF 在服务器端创建。我无法改变它。
  5. 我试过使用 iframe,效果很好。我的猜测是使用 jQuery 仅附加了一个 iframe 元素,然后将大内容加载到 iframe 中。我的团队领导不希望我使用 iframe,所以这没有帮助。

谢谢。

最佳答案

您将面临的第一个限制是,如果字符串超过 512 字节,则不会缓存由它创建的 dom 片段。下一个限制是浏览器中 .innerHTML 的限制。但它非常大(高)...但是在添加大量内容时,您将面临巨大的延迟(适当加载需要很长时间)。

关于javascript - 传递给 jQuery.append() 的字符串的大小是否有限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30301783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com