获取对单击<a>事件打开的选项卡的引用



我们是否可以通过将锚元素的属性设置为_blank来获取对打开target选项卡的引用。

我基本上创建了一个新的隐藏链接并将其附加到 DOM,然后以编程方式模拟该元素上的单击事件,有没有办法像我们一样通过执行以下命令获取对新打开的选项卡的引用window.open

var newTab = window.open('http://www.google.com/');

编辑:在将问题标记为重复之前,请注意我根本无法使用window.open,因此这个问题。

如果不能直接在锚点中使用代码,则可以尝试在之后获取引用(在IE中不起作用(。 但是,您需要设置与_blank不同的目标,但它仍然会打开一个新选项卡。

1( 为定位点定义目标名称

<a href="https://google.com" target="myTarget">Click me</a>

2(通过这个"黑客"获取参考:

var ref = window.open('', 'myTarget');

有关详细信息,请参阅 https://medium.com/@bluepnume/every-known-way-to-get-references-to-windows-in-javascript-223778bede2d

在继续之前,对于您要构建的功能,有几个危险信号值得考虑:

  1. 您(作为开发人员(没有太多控制权来强制在浏览器选项卡中打开新链接。根据此答案,这是基于用户的偏好

  2. window.open文档指示它返回一个null"如果无法打开窗口"。您可以使用它来松散地检查是否打开了新窗口。但是,这在不同的浏览器中可能不一致。

我建议您在走这条路之前查看其他选项(如果有的话(。

万事如意:)

最新更新