如何防止在操纵up的铬实例中创建新标签?

时间:2018-07-27 06:10:11

标签: javascript google-chrome chromium puppeteer

我想阻止创建新标签。通过window.open方法单击“新建选项卡按钮”。 有什么办法可以监听新标签页的创建。我的意思不是'targetcreated'事件,因为那时已经创建了选项卡。也许与event.preventDefault类似吗?

下面是一个非常简单的代码,它关闭了每个新标签,但我认为它很丑陋,我想对其进行改进。

browser.on('targetcreated', (target) => {
    function closeNewTabs(target) {
      let targetBrowser = target.browser();
      targetBrowser.pages().then(data => {
          if (data.length>1) {
              for (let i = 0; i < data.length; i++) {
                  if (i>1) data[i].close();
              }
          }
      })
    }
})

1 个答案:

答案 0 :(得分:0)

可能的解决方法是先监听targetcreated事件,然后再监听page.close

这类似于

Error in get(as.character(FUN), mode = "function", envir = envir) : 
  object 'Bk' of mode 'function' was not found

这不会阻止创建新标签页,但应在打开后立即将其关闭