6

以下

button(type="button", target="_blank", onclick="location.href='auth/google';")

不起作用。它在同一窗口中打开链接。仅供参考,它是 node.js 程序的一部分,我在其中使用 passportjs 进行谷歌身份验证。

4

1 回答 1

20

该按钮实际上并没有打开链接 - 它只是运行一些 JavaScript 代码,在这种情况下,这些代码恰好导航到一个新的 URL。所以target="_blank"按钮上的属性将无济于事。

相反,您需要使用 javascript 命令打开一个新的选项卡/窗口,而不是使用 javascript 来更改当前窗口的 URL。分配给location.href只会更改当前窗口的 URL。

请改用该window.open(url, target)函数 - 它需要一个 URL 和一个目标窗口名称,其行为与target="whatever"链接上的属性相同。

window.open('auth/google', '_blank');

您的完整代码如下所示:

button(type="button", onclick="window.open('auth/google', '_blank');")
于 2013-07-28T06:11:22.890 回答