我想通过浏览器扩展干预谷歌浏览器渲染机制,例如用户想要访问网页,我用 background.script 捕获 webRequest (chrome.webRequest.onBeforeRequest),如果有 javascript 代码,我想阻止所有 DOM 渲染在此选项卡的源中。我在标题中寻找信息。每次浏览器(chrome.webRequest.onHeadersReceived)收到一批标头时,我都会捕获并查找我想要的标签。在此期间,必须阻止 javascript 执行。因为,我无法确定 javascript 对 DOM 做了什么,所以我必须推迟渲染和浏览器停止渲染,直到我允许浏览器这样做。如果我在标题中找到我想要的内容,我将对它进行一些测量,然后我可以选择允许或阻止 DOM 渲染。
对于某些网站,渲染过程是如此之快,它不会等待我的安慰。例如,当我访问 google.com 时,webRequest 已完成,而我仍在查看标头。所以这里有一个竞争条件。
我的问题:有什么方法可以推迟浏览器呈现机制,直到我完成工作并允许它工作?
我尝试使用 chrome.contentSettings 仅阻止 javascript(即使它没有执行我想要的操作),但仍然有一些网站会快速呈现,并且它不会等到我再次允许执行 javascript。