HOME  >  JavaScriptの復習(トップ)  >  [js]ウィンドウ・リダイレクト

JavaScriptによるウィンドウ・リダイレクト

htmlリンクのhrefプロパティを使った画面遷移

表示中のページから他のページに移動(画面遷移・リダイレクト)させたいとき、通常はhtmlリンクのhrefプロパティを使います。
●htmlリンクのhrefプロパティを使ってダミーページへ移動

htmlリンクのhrefプロパティは、このページをブラウザの履歴に残し、HTTPリファラを送信します。移動先からこのページに戻るには、「ひとつ前のページに戻る」ボタン(JavaScriptの"history.back();"を使用)クリックが利用できます。
<a href="dummy.html">●htmlリンクのhrefプロパティを使ってダミーページへ移動</a>

 

何らかの理由でhtmlリンクのhrefプロパティが利用できないとき、したくないときには、JavaScriptによる画面遷移をおこないます。

(1)JavaScriptによる画面遷移 window.location.href = 'dummy.html';

"window.location"部分は、"document.location"、または単に"location"と書き換え可能です。

●JavaScriptでダミーページへ移動(1-a)
●JavaScriptでダミーページへ移動(1-b)
●JavaScriptでダミーページへ移動(1-c)

いずれも動作もhtmlリンクと同じで、このページをブラウザの履歴に残し、HTTPリファラを送信します。このページに戻るには、異動先で「ひとつ前のページに戻る」ボタン(JavaScriptの"history.back();"を使用)クリックが利用できます。
<a href="javascript:window.location.href = 'dummy.html';">●JavaScriptでダミーページへ移動(1-a)</a>
<a href="javascript:document.location.href = 'dummy.html';">●JavaScriptでダミーページへ移動(1-b)</a>
<a href="javascript:location.href = 'dummy.html';">●JavaScriptでダミーページへ移動(1-c)</a>

 

(2)JavaScriptによる画面遷移 window.location.assign('dummy.html');

"window.location"部分は、"document.location"、または単に"location"と書き換え可能です。動作は、すべて(1)の"href"と同じです。
●JavaScriptでダミーページへ移動(2-a)
●JavaScriptでダミーページへ移動(2-b)
●JavaScriptでダミーページへ移動(2-c)
<a href="javascript:window.location.assign('dummy.html');">●JavaScriptでダミーページへ移動(2-a)</a>
<a href="javascript:document.location.assign('dummy.html');">●JavaScriptでダミーページへ移動(2-b)</a>
<a href="javascript:location.assign('dummy.html');">●JavaScriptでダミーページへ移動(2-c)</a>

 

(3)JavaScriptによる画面遷移 window.location.replace('dummy.html');

"window.location"部分は、"document.location"、または単に"location"と書き換え可能です
この画面遷移は、ブラウザの履歴に残りません。移動先の「dummy.html」の「ひとつ前のページに戻る」ボタンは、履歴を参照したJavaScriptの"history.back();"を使用しているため、これをクリックしてもこのページに戻れません(このページに移動してきた前のページがあればそちらに戻ります)。このページに戻るには、ボタンの下側の履歴を参照しないhtmlのテキストリンクを使います。 ●JavaScriptでダミーページへ移動(3-a)
●JavaScriptでダミーページへ移動(3-b)
●JavaScriptでダミーページへ移動(3-c)
<a href="javascript:window.location.replace('dummy.html');">●JavaScriptでダミーページへ移動(3-a)</a>
<a href="javascript:document.location.replace('dummy.html');">●JavaScriptでダミーページへ移動(3-b)</a>
<a href="javascript:location.replace('dummy.html');">●JavaScriptでダミーページへ移動(3-c)</a>

 

(4)IE専用のJavaScriptによる画面遷移 window.navigate('dummy.html');

Internet Explorer専用の"window.navigate"があります。これはHTTPリファラを送信しません。
Internet Explorerは、すでにサポートが終了し、Windows10でも起動しようとすると、Microsoft Edgeが替わりに立ち上がります。今後、このメソッドを使う機会は無いと思われます。
●JavaScriptでダミーページへ移動(4)
<a href="javascript:window.navigate('dummy.html');">●JavaScriptでダミーページへ移動(4)</a>
追記:Microsoft Edgeを含む新しい主なブラウザで検証しましたが、いずれもnavigateメソッドによる画面遷移はできませんでした。唯一、Microsoft EdgeのIEモードで動作しました。動作確認に利用したEdgeのバージョンは「110.0.1587.50」でした。

 

 

戻るボタン

 

 

inserted by FC2 system