jquery regex修补程序导致高cpu消耗
High cpu consumption due to a jquery regex patch
我将从事其他人开发的项目。我和这家伙没有任何联系。我注意到加载页面时浏览器的cpu消耗非常高。
经过一些调查,我认为问题来自jquery regex的一个补丁,但我不清楚这个补丁的目标和cpu消耗的原因。
jQuery.expr[':'].regex = function(elem, index, match) {
var matchParams = match[3].split(',');
var validLabels = /^(data|css):/;
var attr = {
method:
matchParams[0].match(validLabels) ? matchParams[0].split(':')[0] : 'attr',
property: matchParams.shift().replace(validLabels,'')
};
var regexFlags = 'ig';
var regex = new RegExp(matchParams.join('').replace(/^'s+|'s+$/g,''), regexFlags);
return regex.test(jQuery(elem)[attr.method](attr.property));
};
我看到这种方法经常被调用。
我有好几次像这样调用regex。
$(':regex(id,DelCompo.*$)').livequery('click',function(e) {
//...
}
如果我对它们进行评论,cpu消耗似乎是正常的。当然,有些功能被破坏了。
我认为问题来自这个新的regex函数。这是正确的吗?解决这个问题的最佳方法是什么?
感谢
FYI,我通过在jquery选择器中不使用regex来修复它。我想这不是我的文件的正确选择。
相关文章:
- cpu:phantom:page的比例可以大于1:1:1吗
- Architecture for CPU intensive tasks with NodeJS & Socke
- 使用PHP来阻止用户下载代码,但代码占用cpu
- Express.js应用程序最大CPU
- PhantomJS与嵌入式web服务器只使用一个CPU
- 如何避免webGL着色器加载给cpu带来太多负载
- 在构造函数中定义函数会比将其附加到原型消耗更多的内存
- Web Worker 能否利用 100% 的多核 CPU
- 使 Angular JS 实时 ajax 请求消耗更少
- 生成随机唯一数据的时间太长,占用了100%的CPU
- 将纹理从GPU复制到CPU
- 在消耗大量内存后,浏览器在创建图像Blob的ObjectURL时抛出错误
- javascript setInvertal的使用增加了CPU的内存消耗
- requestAnimationFrame在Firefox中消耗CPU
- jquery regex修补程序导致高cpu消耗
- 简单的拉斐尔.js动画,使用"animation.repeat"消耗100%的cpu
- Php复制CPU消耗
- 如何使用javascript停止gif动画以防止高内存和cpu消耗
- 建立WebSockets连接时CPU消耗100%
- 时间间隔大的Settimeout函数会消耗大量的CPU功率