[英]Is there a limit on the size of the string passed to jQuery.append()
我在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 )没有提到这样的限制。
笔记:
谢谢。
你要面对的第一个限制是,如果字符串超过512个字节,那么它创建的dom片段不会被缓存。 下一个限制是浏览器中.innerHTML的限制。 但是它非常巨大(高)......但是在附加大量内容的同时,你将面临巨大的滞后(可能需要很长时间才能加载)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.