関西大学大学院 総合情報学研究科 博士課程にて情報学を学ぶ傍ら、ホームページに関する書籍の執筆や企業…
サブウインドウの表示・活用 (HTML,JavaScript)
更新日:2004年01月18日
サブウインドウを開くリンクには、JavaScriptがOFFだと閲覧できない、別ウインドウで表示できない、ステータスバーでリンク先URLを確認できない…などの問題点があります。それらを一気に解決する方法をご紹介。
さて、この問題を解決するにはどうすれば良いでしょうか。
実はとっても簡単です。
問題点は3つありましたね。
これらの問題は、すべて、(リンクを作る a要素の)href属性にURLが記述されていないことが原因です。
<a href="リンク先URL"> ~~~ </a>
リンク先がどこなのかをステータスバーに表示させるためには、href属性にURLを記述する必要(※)があります。
また、JavaScriptがOFFだった場合でも機能させたり、リンク先を別ウインドウに出せるようにするためにも、やはり href属性にURLを記述する必要があります。
※JavaScriptでステータスバーに任意の文字を書けますから、それを使えばステータスバーにリンク先を表示させることは可能です。 しかし、それでは、JavaScriptがOFFだった場合にリンク先を閲覧できないことに変わりはありません。
ならば、href属性にURLを記述すればよいのです。
では、href属性にもリンク先URLを記述するとどうなるでしょうか。
確かに、リンク先URLはステータスバーに表示されるようになります。JavaScriptがOFFでも閲覧できますし、別ウインドウでも開けます。 しかし、 サブウインドウが表示された場合でも、元のウインドウ側もリンク先へ移動してしまいます。
これでは、サブウインドウを開く意味がありませんね。
そこで、スクリプトの末尾に次の記述を加えます。
これで、何もかも解決です。
return false;
サブウインドウを開くスクリプトは次のような感じですね。
window.open('abc.htm', 'subwin', 'width=300,height=300');
この終わりに、「 return false; 」と付け加えます。
window.open('abc.htm', 'subwin', 'width=300,height=300');
return false;
たったこれだけで、サブウインドウが開いたときには(=JavaScriptが実行されたときには)href属性で指定したURLへの移動は行われなくなります。
この方法を使えば、
……ようになります。
■例:
ソース:
<a href="abc.htm" onClick="window.open('abc.htm','subwin','width=300,height=300'); return false;">サブウインドウ3</a>
問題点はすべて解決しています。
今回は、JavaScriptで作るサブウインドウの問題点を解決する方法をご紹介致しました。とても簡単な上に、ユーザビリティ上も望ましい方法(※)ですから、ぜひ、お試し下さい。
※JavaScriptがOFFでも閲覧できる点や、別ウインドウで開こうとするユーザの操作を妨げない点などが望ましいと言えます。「サブウインドウを使って表示させること」そのものが本当に必要か(便利か)どうかは、しっかり検討する必要はあります。
【関連記事】
関連キーワード[PR]
人気ホームページ作成ランキング
Powered by 価格.com
関連キーワード[PR]