基本上,我正在做一个扩展,提供基于页面元素的分析。由于元素的总数通常超过5,000,但与点击事件相关的元素(我唯一关心的元素)通常小于50,所以如果我可以将焦点缩小到我感兴趣的元素,这将是一个很大的性能方面的好处。Chrome的devtools函数getEventListeners()正是我所追求的,当然,它只在Chrome控制台中工作。在我看来,在Chrome扩展中一定有一种方法可以做到这一点,这似乎是合乎逻辑的。纯JS显然更好,但现在我的范围仅限于单个Chrome扩展,任何在那里工作的东西都可以完成这项工作。
谢谢!
1条答案
按热度按时间avwztpqn1#
好了,基本上你可以像这样重新构建
window.getEventListeners()
函数:只要确保在页面加载之前注入此代码,否则它无法正确执行,然后基本上每次网站创建事件侦听器时,它都会存储在该集合中,因此您可以导航到每个侦听器并按您的意愿执行。希望这有帮助!