javascript - 为什么 RegExp.test 在 IE 中消耗大量时间?

标签 javascript jquery performance internet-explorer

当使用 jQuery 将 HTML 加载到元素中时,我发现 IE 中的性能非常差。 Chrome 没有显示任何性能问题。更改 IE 浏览器模式似乎并没有提高性能。

在 IE 中运行探查器时,我发现大部分时间都花在 RegExp.test 上。功能。

HTML:
<div id="content"></div>

JavaScript:
var htmlString = <div>...Lots and lots of content...</div>
$('#content').html(htmlString);

  • jQuery 版本:1.9.1
  • IE版本:9

最佳答案

加载大量内容时,不要以开始标记开始并以结束标记结束。

将内容更改为: ojit_代码

研究问题后,我发现这个 jQuery bug 请求为我指明了正确的方向。 jQuery 票证 #11456

看来为了兼容 IE,JavaScript RegExp 用于解析正在加载的内容。当内容以标签开头时,它会尝试查找结束标签(或类似的内容)。如果数据量很大,则解析可能需要相当长的时间。我通过在开头放置一个空来解决我的问题。

关于javascript - 为什么 RegExp.test 在 IE 中消耗大量时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17886782/

相关文章:

java - 数据表未显示在 Spring MVC 数据中

javascript - 在浏览器内检测鼠标

Java比较速度

string - 传递 `&str` 对 Rust 的性能不不利吗?

javascript - 来自两个字段的 Jquery 时间差(以小时为单位)

c# - REST PUT 似乎无法连接到服务器

javascript - 悬停时从数据列表中获取当前值

c - 为什么缓存不能正常工作?

java - 从另一个窗口关闭所有子窗口浏览器

javascript - 断言 `this.props.children` 中仅传递单个子项