Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。
リンク先を新窓で展開するスクリプト。
新窓展開は「target=“_blank”して~」などと未だに頻繁にオーダーが入るトリック。Javascript基礎中の基礎。わざわざ取り上げるまでもないくらい簡単なんですが、そういうモノほど、ちょっとした手を加えるのが楽しかったりします。
今回試してみた方法だと、HTMLを一切汚さず(無駄タグ、無駄属性無しで)にポップアップを展開できる。最近はこういうのが好き。
Sample
新窓展開サンプル | 新窓展開サンプル | 新窓展開サンプル
HTML
<p id="sample">
<a href="about:blank">新窓展開サンプル</a> |
<a href="about:blank">新窓展開サンプル</a> |
<a href="about:blank">新窓展開サンプル</a>
<p>
Script
window.onload = getSrc;
function getSrc() {
var x = document.getElementById('sample').getElementsByTagName('a');
for (var i=0; i<x.length; i++)
{
x[i].onclick = function () { return openWin(this.href); }
x[i].onkeypress = function () { return openWin(this.href); }
}
}
function openWin(target) {
open(target);
return false;
}
memo: 上記サンプルだと#sample内の<a>タグが対象となる ...が、もちろん変数xの指定を変えれば、自由に変更可能。
仕様メモ: window.open()
- 書式
window.open(url, name [, style])
- 例文
window.open("test.html", "Test", "width=200,height=200");
プロパティ | 概説 |
---|---|
_blank | 名前無しの新しいウィンドウ。 |
_self | 自分自身のフレーム(ウィンドウ)。 |
_parent | ひとつ親のフレーム(ウィンドウ)。 |
_top | トップフレーム(ウィンドウ)。フレームが無ければ自分自身。 |
memo: frameタグのname属性、もしくはウィンドウ・ネームに対応
memo: ハイフン(-)を含む名前を指定するとエラーになることもある。
プロパティ | 概説 |
---|---|
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
よく読めばわかるのですが、一応。 2006–11–28 06:57
前に対処したんですが、CSS上書きしちゃったみたいです。今は見え「は」するはず... どよ? 2006–11–28 11:24
ありがとうございます。
コードの折り返し問題は難しいですね。
スクリプトにあわせて新窓で開くと良いかも? 2006–11–28 20:11
現状で雰囲気つかめてれば良いかな、と。
いちおJSソースへの直リン張っときました。
IEで見ると面白いかもしらん。 2006–11–29 00:45