• ベストアンサー

子ウインドウ(別窓)のURLとタイトルを取得し、親ウインドウのフォームに表示させる処理。

JavaScriptを使って、次のような処理を実現したいのですが、可能なら是非お教え頂きたく、宜しくお願いします。 1.親ウインドウにあるボタン1を押すと子ウインドウ出現。 2.子ウインドウで目的のURLを表示させて・・・。 3.親ウインドウにあるボタン2を押すと・・・。 4.親ウインドウにあるフォーム1に子ウィンドウのURLを表示し、 5.同時に親ウインドウにあるフォーム2に子ウインドウのタイトル(<title>タグで囲まれた部分)を表示させる。 ・・・というものです。 どうぞ宜しくおねがいいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんな感じでいかがでしょう? (子ウィンドウでgooを開いてみました) --- <HTML> <HEAD> <SCRIPT language="javascript"> <!-- function openWin(){ newWin = window.open("http://goo.ne.jp", "myWin"); } function getInfo(){ document.form1.myURL.value =newWin.location.href; document.form2.myTitle.value =newWin.document.title; } //--> </SCRIPT> </HEAD> <BODY> <INPUT type="button" onClick="openWin();" value="btn1"> <INPUT type="button" onClick="getInfo();" value="btn2"> <FORM name="form1"> <INPUT type="text" name="myURL"> </FORM> <FORM name="form2"> <INPUT type="text" name="myTitle"> </FORM> </BODY> </HTML>

tommy-t
質問者

お礼

早速(こんなにも早く)、実例とともにご回答をいただき本当に有り難うございます。早速試してみます。また結果をご報告いたしますが、まずは取り急ぎ御礼申し上げます。

tommy-t
質問者

補足

ありがとうございます。とても参考になりました。 早速この内容でテストさせていただきましたが、 document.form1.myURL.value =newWin.location.href; のところで「書き込みできません」、 document.form2.myTitle.value=newWin.document.title;のところで「アクセスが拒否されました」というエラーが出てしまいます。当方の環境によるものかとも思いますが(IE6、サーバーにアップロードしない状態でテスト)もしなにか判る部分がありましたら、アドバイスをいただければ幸いです。

その他の回答 (2)

回答No.3

どうやらセキュリティ的な問題で、別サイトの情報は取得させないようになってるようです。 他の手段が思いつかないので、他の方のいい案があれば聞きたいです。 お力になれずすみません。

tommy-t
質問者

お礼

いろいろお手数をおかけし恐縮です。 セキュリティの問題でこういうこともあるんですね。 大変参考になりました。当方でも引き続き方法を模索していこうと思っております。また宜しくお願いいたします。 このたびは本当に有り難うございました。

回答No.2

すみません、Macでは正しく動作したのですが、Windowsではご指摘の通りのエラーがでてしまいました。 しかし、子ウィンドウで開くのが、親ウィンドウと同じサイトのページの場合、正しく動作しました。 想定されていたのは、同一サイト内のページを開く動作でしたでしょうか?

tommy-t
質問者

補足

早速のご返答有り難うございます。 ご質問いただいた件についてですが、 想定している処理は、子ウインドウを開く際は同一サイトのページですが、その後子ウインドウのブラウザを操作しサイト外のページに行き、任意のページで親サイトの「ボタン2」を押すことにより、そのとき子ウィンドウに表示されているhttp://から始まるurlとタイトルを親ウインドウに表示させたいというものですが・・・。 ややこしい話で恐縮です。何卒宜しくお願いいたします。

関連するQ&A

  • 子ウィンドウの「閉じる(×)」で親ウィンドウも一緒に閉じる方法

    タイトル通り、親ウィンドウと、子ウィンドウがあり、子ウィンドウの「×」でウィンドウを閉じた場合に、親ウィンドウも閉じることはできるのでしょうか。 JavaScriptで「閉じる」ボタンをつけて行うことは、可能なのですが、ウィンドウの「×」はどのように処理したらよいのかわかりません。 ご存知の方がいましたら、よろしくお願いしたします。

  • 子ウインドウを閉じて 親ウインドウを更新

    初歩的なことなのかもしれませんが、ご教授いただけると助かります。 やりたい動作は、 親ウインドウから<a href="" target=_blank>で 子ウインドウを開きます。 子ウインドウで処理を行った後、 ----ここからの動作がわかりません----- 子ウインドウ上のボタンかアンカータグで 親を再読み込み 子を閉じる 親にフォーカス こんな動作をJAVASCRIPTで実現可能でしょうか? 結果的に、子が閉じられ、親が再読み込みされた状態でフォーカスがあたるようにできれば最高です。 暇なときでかまいませんので、どうぞよろしくお願いいたします。

  • 親ウインドウから子ウインドウにデータを渡すには?

    はたしてこの質問がASPなのか、Javascriptでできるものなのかわからないので、とりあえずこちらで質問させていただきます。 親ウインドウの入力フォームから、入力されたデータを、子ウインドウで表示するにはどうしたらよいのでしょうか? target="_blank" は子ウインドウのサイズを指定したいので、使わない方向でお願いします。 結局、親ウインドウからデータ入力→ボタンを押す→子ウインドウに親ウインドウのデータを表示・・・ がやりたいのです。 よろしくお願いします。

  • (Javascript)子ウィンドウから親ウィンドウのURLを変えたい

    下記の件、どなたか教えてください。 (1)親ウィンドウから子ウィンドウを起動させる。 (2)子ウィンドウから親ウィンドウのURLを変える。 ※親ウィンドウはフレーム構成(navi.html、main.html)となり、main.htmlのURLを変えたい。 (3)(2)を実行するとき、親ウィンドウが前面に表示される。 環境はIE6.0以上、使用言語はHTML、CSS、Javascriptのみです。

  • 別ウインドウからフォームを操作するには

     簡単な質問かもしれませんがご教授お願いいたします。  HTMLページで下図のようなフォームを作成したいと考えています。  図:  ┌────────┬─┐ ┏━━━┓  │リストフォーム   │▼│ ┃ボタン ┃  └────────┴─┘ ┗━━━┛   ・項目1               ↓ 1.押すと新しいウィンドウが表示   ・項目2           ┏━━━━━━━━━━━┳┳┓   ・項目3 ←────┐ ┣━━━━━━━━━━━┻┻┫   ・項目4        │ ┃                   ┃      ∥        │ ┃ ・項目1              ┃      ∥        │ ┃ ・項目2              ┃      ∥        └─╂-・項目3 ← 2.リンクになっていて押すと...      ∥           ┃ ・項目4             ┃      ∥           ┃                   ┃      ∥           ┗━━━━━━━━━━━━━┛      ∥      ∥ 3. 新しいウィンドウが消えて      ↓  ┌────────┬─┐ ┏━━━┓  │項目 3       │▼│ ┃ボタン ┃  └────────┴─┘ ┗━━━┛   4. 項目3が選ばれている。  これをJavascriptで実現する方法がかかれたホームページがあったのですが,つい最近消えてしまったので,方法を探しています。  この方法がサンプルとして紹介されているページや,または,実現する方法を教えていただけないでしょうか。  よろしくお願いいたします。  (図が見づらくてすいません)

  • 子ウィンドウより親ウィンドウのフォームをsubmit

    親ウィンドウより子ウィンドウをwindow.openにて 表示し、 parent.window.opener.document.form.コントロール名.value="111"; というふうに、子ウィンドウより親ウィンドウのコントロールに値をセットしています。これに親ウィンドウのフォームをsubmitするという処理を追加したいのですが、可能なのでしょうか?? もし可能であれば、その方法を教えてください。 よろしくお願いします!!!! また、子ウィンドウより親ウィンドウのコントロールに値をセットした場合、親ウィンドウのonchangeイベントは発生しないようなのですが、この解消方法はないでしょうか?? よろしくお願いします!!!!

  • MDI:親フォームと子フォームを別EXEで実装するには

    MDIでアプリケーションを作成したいと思っています。 その時に子フォームを親フォームとは別EXEで作りたいと思っています。 例えば 親フォームのボタンを押すと、子フォームEXEが起動し、親フォーム内に表示される。 このようなことは出来ますか? 出来るのでしたら、どうしたらよろしいでしょうか。 教えてください。

  • 親ウィンドウから子ウィンドウのURLを取得する方法

    openメソッドで開いた子ウィンドのURLを親ウィンドウから取得することは できますか? 子ウィンドウで色々なページに移動し、ある時点で表示されている 子ウィンドウのURLを親ウィンドウで取得したいのです。 以下の様なソースを書いてみましたが駄目でした。 var child; function OpenWindow() { child = open("http://xxx.yyy.zzz/", ""); } function GetChildURL() { var child_url = child.location.href; }

  • 子ウィンドウのフォームにアクセスすることはできますか?

    親ウィンドウから,子ウィンドウを生成し,子ウィンドウ内のフォームの値を設定・参照することは可能でしょうか. ローカル内であればできそうな気もするのですが,以下の条件が有り,これを突破する方法が分かりません. ・子ウィンドウの内容は一般サイト(YahooだったりGoogleだったり,一定ではない) ・上記の理由で,formタグにname属性やid属性などが無い場合がある. サンプルで試したソースは以下の通りです. <html> <head> <title>JS test</title> </head> <body> <script type="text/javascript"><!-- function alert_d() { // alert("OK"); alert(target.sf1.p.value); } function newWindow() { target = window.open( "http://www.yahoo.co.jp", "target", "" ); } --></script> <input type="button" value="ダイアログ" onClick="alert_d();"> <input type="button" value="新規ウィンドウ" onClick="newWindow();"> </body> </html> 新規ウィンドウボタンでYahooを表示させた後,ダイアログボタンをクリックすると以下のエラーが発生します. Permission denied for <http://localhost> to get property Window.sf1 from <http://www.yahoo.co.jp>. http://localhost/test_js/ Line 9 これはやはりセキュリティ上の制限であり,実現は不可能ということでしょうか?

  • 子窓で送信したら、親ウィンドウを更新したい

    はじめまして。leaz024と申します。 仕事で次のようなものHTMLを作成することになりました。 ・CGIで表示したページ内のボタンで、小窓(入力フォーム)を開く。 ・小窓で送信ボタンを押すと、小窓は閉じる。 ・送信された内容がサーバで処理された後、親窓を自動的に更新して、内容を反映させる。 CGIはPerlで作成しており、HTMLにはJavaScriptを使ってもよいことになっています。 このような動作をさせたいのですが、やり方が分かりません。 どなたか教えてください。 お願いします。