当源中有任何JavaScript时,在浏览器中延迟DOM呈现

时间:2019-09-12 12:55:26

标签: javascript google-chrome dom google-chrome-extension

我想通过浏览器扩展程序干预Google chrome渲染机制 例如用户想要访问网页,我使用background.script捕获了webRequest(chrome.webRequest.onBeforeRequest),并且如果此标签的源中包含javascript代码,我想阻止所有DOM呈现。 标题中有我要查找的信息。每当浏览器收到一批标头(chrome.webRequest.onHeadersReceived)时,我都会捕获它们,并寻找所需的标签。在这段时间内,必须禁止javascript执行。由于无法确定javascript对DOM的作用,因此必须推迟渲染,然后浏览器停止渲染,直到允许浏览器执行为止。 如果在标题中找到了所需的内容,则将对其进行一些测量,然后可以选择从那里开始允许或阻止DOM呈现。

对于某些网站,渲染过程是如此之快,它并没有等待我的安慰。例如,当我访问google.com时,webRequest已完成,而我仍在查找标题。所以这里有比赛条件。

我的问题:有什么方法可以推迟浏览器呈现机制,直到我完成工作并允许它工作?

我尝试仅使用chrome.contentSettings阻止javascript(即使它无法完成我想要的操作),但是仍然快速渲染了某些网站,并且它不会等到允许我再次执行javascript。

0 个答案:

没有答案