JavaScriptのwindow.location.hrefおよびwindow.open()メソッド


回答:


511

window.location.hrefメソッドではなく、ブラウザの現在のURLの場所を通知するプロパティです。プロパティの値を変更すると、ページがリダイレクトされます。

window.open()新しいウィンドウで開きたいURLを渡すことができるメソッドです。例えば:

window.location.hrefの例:

window.location.href = 'http://www.google.com'; //Will take you to Google.

window.open()の例:

window.open('http://www.google.com'); //This will open Google in a new window.

追加情報:

window.open()追加のパラメーターを渡すことができます。参照:window.openチュートリアル


5
標準ではおそらくそれwindow.location.hrefがメソッドではなくプロパティであると述べていますが、Internet Explorer(少なくともバージョン10)ではhrefメソッドとしても扱うことができます。IE10でのみ、使用した1ページで機能することを確認しました。それがおそらく、質問者がhrefメソッドを呼び出していた理由です。IEがwindow.location.hrefと互換性がないという質問を参照してください。しかし、はい。IE を含むhrefすべてのブラウザで機能するプロパティとして使用することをお勧めします。
Rory O'Kane 2013年

5
RoryO'Kane @、この質問は、私は、ユーザーがIE 10に言及していた疑い2011年に頼まれた
ジェームズ・ヒル

9
そうだね。しかし、確かではありませんが、古いバージョンのIE window.location.hrefが同じように処理した可能性が高いと思います。結局のところ、新しいバージョンのiEは、一般に標準ベースになりつつあります。したがって、IE10がまだ標準を破っている場合、古いバージョンもおそらく破っています。
Rory O'Kane 2013年

32
  • window.open 指定されたURLで新しいブラウザを開きます。

  • window.location.href コードが呼び出されるウィンドウでURLを開きます。

また、window.open()はウィンドウオブジェクト自体の関数ですが、他のwindow.locationさまざまなメソッドやプロパティを公​​開するオブジェクトです。


14

window.openはメソッドです。新しいウィンドウを開いてカスタマイズできます。window.location.hrefは、現在のウィンドウのプロパティにすぎません。


12

window.location.hrefプロパティとwindow.open()メソッドについて説明する回答はすでにあります。

私は客観的に使用します:

1.ページを別のページにリダイレクトするには

window.location.hrefを使用します。hrefプロパティを別のページのhrefに設定します。

2.新しいウィンドウまたは特定のウィンドウでリンクを開きます。

window.open()を使用します。目標に従ってパラメーターを渡します。

3.ページの現在のアドレスを知る

window.location.hrefを使用します。window.location.hrefプロパティの値を取得します。window.locationオブジェクトから特定のプロトコル、ホスト名、ハッシュ文字列を取得することもできます。

詳細については、Locationオブジェクトを参照してください。


9

window.open ()新しいウィンドウwindow.location.hrefが開きますが、現在のウィンドウに新しいURLが開きます。


window.open()は、 '_ self'が追加パラメーターとして渡された場合、同じウィンドウで 'url'を開くこともできます。
user761100 2018年

1

window.open新しいブラウザタブでURLを開きます。

window.location.href(代わりに使用することができ、現在のタブでURLを開きますlocation

以下はフィドルの例です(SOスニペットwindow.openでは機能しません)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.