想要从页面中挑选出所有的 JSON 块。代码是:
for (el of document.querySelectorAll(['div[class*="json"]', 'script[type="text/javascript"]', 'script[type="application/json"]'])) {
if (el.innerHTML) {
let matches = el.innerHTML.match(/({(?:\s|\n)*["'](?:\s|\n|.)*?["']:(?:\s|\n)*["'[{](?:\s|\n|.)+?})(?:;|$)/g)
console.log(matches)
}
}
通常,它在页面上有 2-5 个元素。问题是,在这样的查询之后,页面就停止响应(甚至 Chrome 开发工具搜索也不起作用)。
我假设查询可能会导致一些负载(而 CPU 未显示),所以问题是:可能是什么问题以及如何优化表达式以降低此负载?
PS 如果操作需要时间也没关系,所以也许有一种方法可以等待每个操作完成后再开始另一个操作,以分配负载?
慕妹3242003
HUX布斯
小唯快跑啊
紫衣仙女
相关分类