是否有HTML5方式有条件地排除无头浏览器上的脚本标签?

时间:2017-10-10 23:30:19

标签: html5 prerender google-chrome-headless

我们使用prerender类型的软件为抓取工具呈现我们的单页应用,我们希望排除所有第三方script代码,以便我们按展示付费。使用writeln或通过创建dom元素在JS中动态加载它们意味着等待解析JS以导入非常重要的库(如Optimizely - 我们希望尽早加载它以避免闪烁) 。

我们可以使用类似于<!-- if[IE] -->个会计评论的内容来排除无头浏览器中的块吗?

1 个答案:

答案 0 :(得分:0)

首先,请确保您要阻止的脚本标记不会修改页面。您不希望向抓取工具提供与向用户投放的不同页面,因为这可能被视为隐藏真实内容。

如果您使用chrome-remote-interface直接使用Headless Chrome,则可以使用此处的setBlockedURLshttps://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/Source/core/inspector/browser_protocol.json

如果您要托管自己的Prerender服务器,请查看插件以阻止某些网址:https://github.com/prerender/prerender/blob/chrome/lib/plugins/blockResources.js

如果您使用我们托管的Prerender服务,请发送电子邮件给我们,我们可以通过托管服务帮助您阻止这些服务。