以下
button(type="button", target="_blank", onclick="location.href='auth/google';")
不起作用。它在同一窗口中打开链接。仅供参考,它是node.js程序的一部分,其中我使用passportjs进行谷歌身份验证。
答案 0 :(得分:19)
按钮实际上并没有打开链接 - 它只是运行了一些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');")