親ウインドから開いている子ウインドに、ウインドを閉じるAタグを付けたいんですが、どう記述すれば良いんでしょうか?

A 回答 (2件)

> ウインドを閉じるAタグを付けたい



「親」の方につけたい、ということでしょうか?

<a href="javascript:void(0)" onClick="w = window.open('子で開くURL')"> open </a><br>
<a href="javascript:void(0)" onClick="w.close()"> close </a><br>

という感じ。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい、スミマセン!
教えて頂いた記述を少し応用して、

<A HREF="javascript:window.close()">閉じる</A>
と記述したらうまく出来ました!

有難う御座いました!(^o^)

お礼日時:2002/03/16 03:22

http://sound.jp/jun88/
サンプルが色々有ります。
参考になれば幸いです

参考URL:http://sound.jp/jun88/
    • good
    • 0
この回答へのお礼

色んな画像の素材も探してたので、色々参考にさせて貰います。
有難う御座います!

お礼日時:2002/03/16 03:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q画像にオンマウスで子ウインドウを開きマウスアウトで子を閉じるには

是非教えてください。

indexにある画像にオンマウスすると、子ウインドウが開き、画像からマウスアウトすると、子ウインドウが閉じるというスクリプトを作りたいです。

<td height="110" width="110" colspan="2" align="center">
<A HREF="#" onmouseover="mywin=window.open('E_sakashita.htm','','width=250,height=400');" onmouseout="window.close();">
<IMG SRC="image/E_sakashita.jpg" WIDTH="142"HEIGHT="106" ALIGN="BOTTOM" BORDER="0" NATURALSIZEFLAG="3">
</A>
</td>

としたところ、画像からマウスアウトすると、「ウィンドウは、表示中のWebページによりとじられようとしています。このウィンドウを閉じますか?」のメッセージが出ます。
マウスアウトの時には、子ウインドウだけを閉じたいのですが、どのように記述したらいいですか?

是非教えてください。

indexにある画像にオンマウスすると、子ウインドウが開き、画像からマウスアウトすると、子ウインドウが閉じるというスクリプトを作りたいです。

<td height="110" width="110" colspan="2" align="center">
<A HREF="#" onmouseover="mywin=window.open('E_sakashita.htm','','width=250,height=400');" onmouseout="window.close();">
<IMG SRC="image/E_sakashita.jpg" WIDTH="142"HEIGHT="106" ALIGN="BOTTOM" BORDER="0" NATURALSIZEFLAG="3">
</A>
</td>

としたところ、...続きを読む

Aベストアンサー

>ウィンドウは、表示中のWebページによりとじられようとしています。
閉じるウィンドウをwindowと指定しているのでこのスクリプトが書き込まれているウィンドウ自身が閉じられようとしています。
せっかく宣言しているのですから閉じるウィンドウはmywinを指定してやりましょう。

<A HREF="#" onmouseover="mywin=window.open('E_sakashita.htm','','width=250,height=400');" onmouseout="mywin.close();">

Q親ウィンドウから開いた子ウィンドウをまとめて閉じるには?

親ウィンドウから複数のサブウィンドウを開いたとします。親ウィンドウを閉じる際に、開いているサブウィンドウを全て閉じたいと思っています。

開いたサブウィンドウのwindowオブジェクトを控えておいて、親ウィンドウのunloadで順番に閉じていけばできますが、イマイチかっこいい処理ではないので、一括してcloseできる処理を考えているところです。

なにかいい方法はないでしょうか?

Aベストアンサー

親ウィンドウが開いた子ウィンドウを一括で閉じるには、
子ウィンドウの一覧を把握していなくてはなりません。

ですが、いちいち子ウィンドウの変数を作成していくのは
面倒極まりないので、以下の手順で一括処理を行えます。

0)グローバル変数で、配列を宣言する

******ここは複数回の可能性あり*******
1)子ウィンドウを開く
2)子ウィンドウハンドルを配列に入れる
***********************************

onUnload時
1)子ウィンドウハンドルを参照し、閉じられていないかチェック
2)子ウィンドウハンドルに対して close()メソッドを実行


一応、IE5上で動作確認したソースもあるのですが、
ご自分でお考えになる方が力になりますので。
どうしてもできないと言う時は、改めてソースを開示いたしましょう。

Q親ウィンドウを切り替えたときの子ウィンドウの閉じ方

画面Aから画面BをsubName = window.openで開き親子の
ウィンドウが開いている状態で画面Aを画面Cに遷移させます。
この後で画面Cから画面Bを閉じる方法がわかりません。

画面A(親)⇒ 画面C(親?)

画面B(子)

Aベストアンサー

 こういうことでしょうか↓
http://www.openspc2.org/reibun/javascript/sub_window/020/index.html

参考URL:http://www.openspc2.org/reibun/javascript/sub_window/020/index.html

Q子ウィンドウを開くときに、親ウィンドウ(自分)を警告なしで閉じる。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=805336
の続きというか、同じことなのですが、
以下のJavaScriptで、子ウィンドウが開かれるのですが、この際に開いた親ウィンドウを閉じたいのですが、普通に閉じると警告が出てしまいます。
警告なしで、子ウィンドウを開き、親ウィンドウを閉じる方法があれば、教えてください。

<script language="JavaScript"><!--
function MenuWindow(){
var bname = navigator.appName;
var bversion = navigator.appVersion;
var spchr = ";";
var bverS = bversion.split(spchr);
var blsr = bverS[1];
var spchr = " ";
var btype = blsr.split(spchr);
var bcat = btype[1], bver = btype[2];
if ((bcat.indexOf("MSIE")<0)||(bver<5.0)) {
res = window.alert("本プログラムは Internet Explore 5.0 以降の"+
"ブラウザ以外では動作しません。");
window.close();
} else {
//location.href="menu.html";
var indexW;
var swidth=screen.availWidth;
var sheight=screen.availHeight;
var wwidth=swidth*1.0;
var leftpos=(swidth-wwidth);
var wheight=sheight*1.0;
var toppos=(sheight-wheight);
window.resizeTo(wwidth,wheight);
window.moveTo(leftpos,toppos);
window.focus();
indexW = window.open("menu.html","",'resizable=yes,top=0,left=0');
indexW.resizeTo(swidth, sheight);

//location.href="#";
}
return true;
}
//--></script>
</head>
<body onLoad="MenuWindow()">

</body>

http://oshiete1.goo.ne.jp/kotaeru.php3?q=805336
の続きというか、同じことなのですが、
以下のJavaScriptで、子ウィンドウが開かれるのですが、この際に開いた親ウィンドウを閉じたいのですが、普通に閉じると警告が出てしまいます。
警告なしで、子ウィンドウを開き、親ウィンドウを閉じる方法があれば、教えてください。

<script language="JavaScript"><!--
function MenuWindow(){
var bname = navigator.appName;
var bversion = navigator.appVersion;
var spchr = ";";
var bverS = bversio...続きを読む

Aベストアンサー

window.open() で開かれたウィンドウじゃないウィンドウを window.close() しようとすると、警告が出ます。

実は、これには穴があって...

> window.close();

の箇所を、以下のようにちょっとおまじないを入れると

  w = window.open("","_top")
  w.opener = window
  w.close()


ね、ブラウザは、勘違いしちゃうんですよね。

Q親画面に処理を渡して子画面を閉じるには?

ある作品集の作品リストページで、作品の画像をクリックすると子画面が出るようにjavascriptで設定したのですが、子画面で「この作品について書き込む」というボタンをクリックするとフォームのCGIにデータを受け渡して書き込みができるようにしようとして困っています。

実は、親画面であるリストページにも「書き込む」ボタンがあるので、子画面で「書き込む」ボタンを押して子画面内でCGIに飛んでしまうと、サイト内を回り回って再度何か書き込みをする場合はその度に小画面の子画面が開くのでウインドウが増えてしまうことになるのです。

これを避けるために、子画面で「書き込む」ボタンをクリックすると親ウインドウの内容がCGIに飛んで、同時に小画面が閉じるようにしたいのですが、できないでしょうか?

現在、その小画面でのソースは、ヘッダに

<script language="JavaScript">
<!--
function openWi12(shiryou,botan,w,h) {
window.open(shiryou,botan,"width="+w+",height="+h+",left=10,top=10,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,favorites=no,resizable=yes");
}
// End -->
</script>

と入れて、ボタン部分が

<A HREF="cgi-bin/kakikomi.cgi" TARGET="_blank"><IMG SRC="sakuhin_new120.jpg"
ALT="" height="120" width="120" border="0" hspace="7" vspace="7" naturalsizeflag="0" align="BOTTOM" onClick='openWi12("cgi-bin/kakikomi.cgi","Request",740,450);return false'></a>

となっています。
ここに何かを書き足すことで実現できるようでしたらお教え頂きたく、どうかよろしくお願いします。

ある作品集の作品リストページで、作品の画像をクリックすると子画面が出るようにjavascriptで設定したのですが、子画面で「この作品について書き込む」というボタンをクリックするとフォームのCGIにデータを受け渡して書き込みができるようにしようとして困っています。

実は、親画面であるリストページにも「書き込む」ボタンがあるので、子画面で「書き込む」ボタンを押して子画面内でCGIに飛んでしまうと、サイト内を回り回って再度何か書き込みをする場合はその度に小画面の子画面が開くのでウインドウが...続きを読む

Aベストアンサー

書き足すのではなく、書き換えるのが正解ではないかと思います。

子画面のAリンクは廃止して、JavaScriptの関数を呼び出しだけで対応するよう修正してください。
おそらくAリンクは、JavaScript非対応ユーザー対策と思うのですが、非対応のユーザーでは、そもそもの子画面自体が開きませんよね?
(あと、IMGエレメントのonClickイベントは、IE独自仕様だった気がするのですが・・・)

そして親画面側に、子画面を閉じて自画面の「書き込む」ボタンが押された場合と同等の処理をする関数を用意します。
子画面側では、window.opener.親画面の関数名() で呼び出しが出来ます。



これで一応問題は解決しますが、親画面子画面でさらに共通化を図るなら・・・

function windoeSubmit(winObj,trgUrl){
if(winObj) winObj.close();
openWi12(trgUrl,",740,450);
}

として、
子画面側では、window.opener.windoeSubmit(window,'cgi-bin/kakikomi.cgi');

親画面側では、windoeSubmit(false,'cgi-bin/kakikomi.cgi');

と記述すれば、同じ関数で処理が賄えます。

書き足すのではなく、書き換えるのが正解ではないかと思います。

子画面のAリンクは廃止して、JavaScriptの関数を呼び出しだけで対応するよう修正してください。
おそらくAリンクは、JavaScript非対応ユーザー対策と思うのですが、非対応のユーザーでは、そもそもの子画面自体が開きませんよね?
(あと、IMGエレメントのonClickイベントは、IE独自仕様だった気がするのですが・・・)

そして親画面側に、子画面を閉じて自画面の「書き込む」ボタンが押された場合と同等の処理をする関数を用意します。
...続きを読む


人気Q&Aランキング

おすすめ情報