6

以下

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

動作しません。同じウィンドウでリンクを開きます。参考までに、node.jsプログラムの一部で、Google認証にpassportjsを使用しています。

4

1 に答える 1

20

このボタンは実際にはリンクを開いているわけではありません。この例では、たまたま新しい URL に移動する JavaScript コードを実行しているだけです。したがって、target="_blank"ボタンの属性は役に立ちません。

代わりに、javascript を使用して現在のウィンドウの URL を変更するのではなく、javascript コマンドを使用して新しいタブ/ウィンドウを開く必要があります。に割り当てるとlocation.href、現在のウィンドウの URL のみが変更されます。

代わりに関数を使用してください。URL と、リンクの属性window.open(url, target)と同じように動作するターゲット ウィンドウ名を受け取ります。target="whatever"

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

完全なコードは次のようになります。

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