window.open()まとめ

/web/javascript

Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。

リンク先を新窓で展開するスクリプト。
新窓展開は「target=“_blank”して~」などと未だに頻繁にオーダーが入るトリック。Javascript基礎中の基礎。わざわざ取り上げるまでもないくらい簡単なんですが、そういうモノほど、ちょっとした手を加えるのが楽しかったりします。

今回試してみた方法だと、HTMLを一切汚さず(無駄タグ、無駄属性無しで)にポップアップを展開できる。最近はこういうのが好き。

Sample

新窓展開サンプル | 新窓展開サンプル | 新窓展開サンプル

HTML

  1. <p id="sample">
  2. <a href="about:blank">新窓展開サンプル</a> |
  3. <a href="about:blank">新窓展開サンプル</a> |
  4. <a href="about:blank">新窓展開サンプル</a>
  5. <p>

Script

  1. window.onload = getSrc;
  2.  
  3. function getSrc() {
  4. var x = document.getElementById('sample').getElementsByTagName('a');
  5. for (var i=0; i<x.length; i++)
  6. {
  7. x[i].onclick = function () { return openWin(this.href); }
  8. x[i].onkeypress = function () { return openWin(this.href); }
  9. }
  10. }
  11.  
  12. function openWin(target) {
  13. open(target);
  14. return false;
  15. }

» download

memo: 上記サンプルだと#sample内の<a>タグが対象となる ...が、もちろん変数xの指定を変えれば、自由に変更可能。

仕様メモ: window.open()

書式
window.open(url, name [, style])
例文
window.open("test.html", "Test", "width=200,height=200");
name
プロパティ 概説
_blank 名前無しの新しいウィンドウ。
_self 自分自身のフレーム(ウィンドウ)。
_parent ひとつ親のフレーム(ウィンドウ)。
_top トップフレーム(ウィンドウ)。フレームが無ければ自分自身。

memo: frameタグのname属性、もしくはウィンドウ・ネームに対応

memo: ハイフン(-)を含む名前を指定するとエラーになることもある。

style
プロパティ 概説
width=n ウィンドウの横幅。
height=n ウィンドウの高さ。
location=yes|no ロケーションフィールドの表示。
menubar=yes|no メニューバーの表示。
toolbar=yes|no ツールバーの表示。
scrollbars=yes|no スクロールバーの表示。
status=yes|no ステータスバーの表示。
titlebar=yes|no タイトルバーの表示。
directories=yes|no ディレクトリボタンの表示。
resizable=yes|no リサイズを可能にする。
top=n ウィンドウの位置(画面の上端からの距離)。
left=n ウィンドウの位置(画面の左端からの距離)。

memo: 複数指定する場合は、カンマで連結。

memo: カンマの前後にスペースを入れると、動作しないブラウザもある。

Note: スパム対策が面倒なので、コメント投稿を廃止しました。以前のコメントは残します。
ご意見・ご要望はtwitter@sigwygかはてブコメントにて。

4 Comments

chihiro wrote:
Scriptの4行目、Operaだと切れてしまいますね。
よく読めばわかるのですが、一応。 2006–11–28 06:57
Sig. wrote:
いぇぁ!
前に対処したんですが、CSS上書きしちゃったみたいです。今は見え「は」するはず... どよ? 2006–11–28 11:24
chihiro wrote:
見れました。
ありがとうございます。

コードの折り返し問題は難しいですね。
スクリプトにあわせて新窓で開くと良いかも? 2006–11–28 20:11
Sig. wrote:
ま~あんま凝りすぎても更新しなくなるので、
現状で雰囲気つかめてれば良いかな、と。
いちおJSソースへの直リン張っときました。
IEで見ると面白いかもしらん。 2006–11–29 00:45