减少大型javascript操作对客户端明显滞后的方法

Methods to reduce apparent lag to client from large javascript operations

本文关键字:滞后 方法 客户端 作对 大型 javascript 操作      更新时间:2023-09-26

作为Chrome扩展的一部分,我正在对文档结束事件上的许多(超过3000)元素执行一些regex替换。在最坏的情况下,在相当不错的PC上的Chrome 34.0.1847.116米中,操作可能需要180秒以上才能完成,在此期间,网页被冻结。

有没有,如果有,在更长的时间内减轻操作的最佳方法是什么,或者给操作一个"较低优先级",这样在运行时就不会占用100%的时间。

该脚本几乎是嵌套的jQuery,每个函数都使用一个大表达式运行regex替换。这些表达式搜索3000-4000个单词,然后用一些html替换它。一个例子是(搜索特定的reddit名称)

/('s|/u/|^)(name1|name2|name3|...|name500)([^'w]|$)/

如果它有帮助,你可以在这里看到完整的来源。

谢谢你抽出时间。

您可以使用setTimeout函数和完成时的回调在新线程中运行长操作。

参见Javascript Create New";线程";