
No.1ベストアンサー
- 回答日時:
window.open() の戻値を使えば可能です。
# スクリプト部
var newwin;
function openWindow(a) {
if (!newwin || newwin.closed) {
newwin = window.open(a.href, a.target, "~");
else
newwin.focus();
return false;
}
# タグ部
<a href="xxx.html" target="newwin" onClick="return openWindow(this)">~</a>
最初は newwin に値が入っていないので、!newwin が成り立ち、if 文の中の window.open() が実行されます。
2回目以降は !newwin は常に偽となり、2個目の条件 newwin.closed が評価されます。
.closed は、ウィンドウが開いていれば false となり、閉じられていれば true となります。
つまり、開いていれば else 側が実行され、閉じられていたら再度 open するわけです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
同じページをブラウザで複数開けないように
JavaScript
-
ウィンドウ名からウィンドウオブジェクトを取得
JavaScript
-
特定のウィンドウ名を持つウィンドウの有無を判別
JavaScript
-
-
4
window.open( ) の第2引数
JavaScript
-
5
子ウィンドウの存在確認
JavaScript
-
6
WEBブラウザの重複起動の禁止
Visual Basic(VBA)
-
7
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
8
html上で、バッチやexeファイルの起動をしたい
ホームページ作成・プログラミング
-
9
window.openでタイトル名の指定
JavaScript
-
10
functionから別のfunctionを実行したい
JavaScript
-
11
opener.focus();が利かない
JavaScript
-
12
ウィンドウ名の設定
JavaScript
-
13
Javascript_submit()完了後に処理したい
JavaScript
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Edge Chrom などの超初心者質問...
-
Javascript_submit()完了後に処...
-
ウィンドウの2重起動を防止したい
-
VBAで任意のウインドウのサイズ...
-
デスクトップ画面を4分割するには
-
1クリックでモーダルを開いてか...
-
response.redirect <<URL>> で...
-
window.open( ) の第2引数
-
ブラウザの×ボタンを効かなくす...
-
子ウィンドウより親ウィンドウ...
-
ページ内でYouTubeの動画を見れ...
-
IEでのみ発生するJavaScriptエラー
-
インタネットからPDFファイルだ...
-
window.close()で確認メッセー...
-
ブラウザ(IE)からエクスプロー...
-
スクリプトって、何ですか?ど...
-
Youtubeのバグ
-
Outlookでこのような表示がされ...
-
マイページはどこを開くの
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
Edge Chrom などの超初心者質問...
-
VBの画面で、全ウィンドウを一...
-
デスクトップ画面を4分割するには
-
ウィンドウの2重起動を防止したい
-
ポップアップと作業ウィンドウ...
-
VBAで任意のウインドウのサイズ...
-
javascriptで開いたウィンドウ...
-
1クリックでモーダルを開いてか...
-
インタネットからPDFファイルだ...
-
子ウィンドウより親ウィンドウ...
-
リンク時、親ウインドウを最前...
-
子ウィンドウの存在確認
-
孫ウインドウを閉じたら親をリ...
-
子ウィンドウを常に手前表示、...
-
子ウィンドウから親ウィンドウ...
-
履歴を残さないResponse.Redire...
-
ウインドウの親子連携について
-
子ウィンドウから親ウィンドウ...
おすすめ情報