開いたウィンドウから元のウィンドウの関数を呼ぶには?

[上に] [前に] [次に]
ぱんだ2号 2000/05/18(木) 11:46:01
こんにちは。
JavaScriptとHTMLを使っています。
IE4.0とNN4.7を主に使用しています。

あるウィンドウから新しくウィンドウを開き、
新ウィンドウのボタンを押した時に(そのウィンドウは終了して)
元ウィンドウのJavaScriptの関数を呼ぶ処理を考えています。

*元ファイル*

・・・
<SCRIPT LANGUAGE="JavaScript">
<!--

function DisplayFile(){
     WO1 = window.open("a.txt","Window1","width=700,height=500");
}

//-->
</SCRIPT>
・・・

*新ファイル*

・・・
<FORM>
<INPUT type="button" value="ファイル表示"
          onClick="opener.DisplayLog();window.close();">
</FORM>
・・・


無理だろうと思いつつ上記のように
書いてみましたがヤッパリ無理でした。
困った…。

どなたかご教授願えれば幸いです。
よろしくお願いします。

ぱんだ2号 2000/05/18(木) 11:48:43
新ファイルのボタンで呼んでいる
ところの

opener.DisplayLog(); は
opener.DisplayFile(); の

間違いでした。

Taka 2000/05/18(木) 12:41:49
外部ファイルにしてみては?

悪魔のZ 2000/05/18(木) 13:30:17
要するに 基本画面一つとサブ画面が複数があって
サブ画面のボタンでもOPENERが基本画面のウインドウを開き、
尚且つボタンを押した画面は閉じたいんですよね?

DisplayFileに今の画面を引数として与えて基本画面から閉じるか、


簡単な方法はサブ画面の名前(AタグのTARGETとか)を同じにすれば済みますけど。

パンダ2号 2000/05/18(木) 15:00:33
Takaさん悪魔のZさん
アドバイス有難うございました。

まず外部ファイルに関数を書いてみたところ、
DisplayFile();を無事呼ぶことができました。

悪魔のZさんの方法も試してみたいのですが、

>DisplayFileに今の画面を引数として与えて基本画面から閉じるか、

の方法が知識不足で想像がつきません。
DisplayFile()の関数は基本画面のソースに書いたままで、
実現できるのでしょうか?

悪魔のZ 2000/05/18(木) 18:57:50
main.html

<HTML><HEAD><TITLE>元</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function closewin(winhdl){
  winhdl.close(); }
</SCRIPT></HEAD>
<BODY>
<A HREF="" onClick="window.open('sub.html','SubWindow');return false;">open</A>
</BODY></HTML>

sub.html
<HTML><HEAD><TITLE>先</TITLE>
</HEAD><BODY>
<A HREF="#" onclick="opener.closewin(window);">Close</A>
</BODY></HTML>

↑この実験は上手くいきました

[上に] [前に] [次に]