• ベストアンサー

サブウィンドウのIFRAME

サブウィンドウのIFRAMEの内容をdocument.open()、write()、close()して書き換えることはできるでしょうか? subWin.frames["bodyFrame"].document.open(); subWin.bodyFrame.document.open(); (bodyFrameはサブウィンドウ名) などを指定していますがダメでした。 サブウィンドウのIframeはHTMLファイルを指定していません。

  • HTML
  • 回答数1
  • ありがとう数1

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

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

とりあえず初めに確認しておきたいのですが、サブウィンドウを開く部分の記述は subWin=window.open("hoge.html","sub","width=***, height=***"); このように、「subWin=」で始まっていますか? もしこれが記述されていないと、サブウィンドウをJavaScriptがオブジェクトとして取得できていないので、うまく動作しない原因になると思います。 また、サブウィンドウに読み出すHTMLファイル内のiframeに対して付けた名前が、大文字小文字も含めて間違いなく「bodyFrame」になっているか確認してください。 もし指定した名前が異なる場合は、JavaScriptから目的のフレームにアクセスできずにうまくいかないということになると思います。 上述の点が当てはまらなくて、それでもうまくいっていない場合ですが、その場合はブラウザの問題になるかもしれません。 こちらの環境(Windows Me)のIE6とNetscape7.1では、質問文中の「subWin.frames["bodyFrame"].document.open();」、「subWin.bodyFrame.document.open();」このいずれの書き方でも正常に動作しました。 ただ、Operaは、条件によってうまくこれを処理できなくなることがあるようです。 Opera7.11で確認しましたが、サブウィンドウ上のiframe要素で、このsrc属性の指定が空欄だったり(src=""など)、src属性そのものが用意されていない場合、Operaではうまく動いてくれなくなるようです。 ダミーページでも、何かをインラインフレーム内に読み込ませておけば、正常に動くようですので、これに当てはまる場合は、そこを修正してみてください。 おそらくこのあたりの問題なのではないかと思いますが… 見当違いでしたら、ごめんなさい。

kakibo
質問者

お礼

アドバイスありがとうございます。 サブウィンドウを開く設定はできています。 ただしファイル名は空""にしています。 構文は大丈夫とのことですので、ダミーファイルを指定してもう一度トライしてみます。

関連するQ&A

  • サブウィンドウから親画面に渡すには

    サブウィンドウでチェックを入れた項目を、「選択」というボタンを押すことで親画面のselectボックス内に表示させたいのですが、下記のどのようなコードを追加すればよろしいでしょうか。 --------------------------------------- <html> <head> <script LANGUAGE="JavaScript"> function WindowOpen(){ subWin=window.open(); subWin.document.open(); subWin.document.write("<html><body><form name='subform'>"); subWin.document.write("<input type='checkbox' name='check1'>東京"); subWin.document.write("<br><input type='checkbox' name='check2'>大阪"); subWin.document.write("<br><input type='checkbox' name='check3'>名古屋"); subWin.document.write("<br><input type='button' name='btn2' value='選択'>"); subWin.document.write("</form></body></html>"); subWin.document.close(); } </script> </head> <body> <form name="myform"> <input type="button" name="btn1" value="参照" onClick="WindowOpen();"> <select name="slct1" size="3" style="width:50%;"> <option> <option> <option> </select> </form> </body> </html>

  • サブウィンドウから親ウィンドウのファンクションを起動

    おせわになっております。 サブウィンドウから親ウィンドウのファンクションを起動する方法について困っています。 親ウィンドウから var subWin = window.open("a.html", "sub") でオープンしたサブウィンドウを閉じる場合に サブウィンドウから親ウィンドウの function sub_close() { subWin.close(); } を呼び出して閉じる処理をしています。 (サブウィンドウでwindow.opener.sub_close()) #これは正常に処理されます。 ここで問題なのですが、サブウィンドウがフレームの場合に、フレームセットされたHTMLから window.opener.sub_close() というような方法では親画面の操作ができないのでしょうか?(できませんでした。) 初歩的な質問で申し訳ないのですが、何かよい方法があれば教えてください。 宜しくお願いします。

  • サブウィンドウ

    JavaScriptの得意な方、知っている方に質問です。 下記のように指定した場所をクリックすると、サブウィンドウが表示されますが、そのサブウィンドウの高さと幅は自動的にしたいです。 その方法を存知であれば教えてください。 <script Language="JavaScript"> <!-- subWin = new Array(); swNum = new Array(); function openSW(sURL,sID) { swName = "subwindow"+sID; subWin[sID] = window.open(sURL,swName,"width=400,height=700"); swNum.unshift(sID); for (i=swNum.length-1; i>=0; i--) { if ( isFinite(swNum[i]) && subWin[swNum[i]]) subWin[swNum[i]].focus(); } } // --> </script> <a href="javascript:openSW('ファイル名',0)"><U>テスト</U></a> よろしくお願いします。

  • サブウィンドウの画面制御について

    過去スレを確認しましたが、同じようない内容のモノがなかったため質問させて頂きます。 サブウィンドウ画面の制御についての質問なのですが、 親→子→孫といったように3画面同時に表示する場合があります。 この時、親を閉じると子と孫も、子を閉じると孫も同時に閉じたいと思っています。 しかし親から子、子から孫といったように一階層だと閉じることができますが、 親から孫と二階層になると閉じる事ができません。 どなたか解決方法をご存知の方がおられましたら、 ご教授頂けますでしょうか。 よろしくお願いします。 実装内容は以下のようになっています。 (必要部分以外は省略しています) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ----------------子画面用JavaScript-------------------- ◆子を開く function openWin1(){ subWin1 = window.open(url,"subWin1",""); } ◆子を閉じる function closeWin1(){ if(typeof(subWin1) != 'undefined') { // 子ウィンドウを閉じる subWin1.close(); } // 孫ウィンドウを閉じる closeWin2(); } ----------------------------------------------------- ---------------孫画面用JavaScript-------------------- ◆孫を開く function openWin2(){ subWin2 = window.open(url,"subWin2",""); } ◆孫を閉じる function closeWin2(){ if(typeof(subWin2) != 'undefined') { // 孫ウィンドウを閉じる subWin2.close(); } } ----------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • <xml>タグを使った例

    つい先日も質問しましたが、具体例を記述したいと思います。 HTMLは以下の感じです。 <form name="frm"> <a href="#" onclick="javascript:call('test');">リンク</a> <xml id="includeXls"> <body scroll="no" style="margin:0 0 0 0"> <iframe name="fra1" src='2.html' height=100% width=100%> </body> </xml> </form> <script language="javascript"> <!-- function call(did){ var arg = "resizable=1,scrollbars=0,width=600,height=480,toolbar=1,menubar1=,directories=0,status=0"; var subWin; if (subWin != null) { if (!subWin.closed) { subWin.close(); } } subWin = window.open("", did, arg); subWin.document.open(); subWin.document.write(includeXls.innerHTML); subWin.document.close(); subWin.focus(); } //--> </script> これを適当な名前でhtmlを表示して、2.htmlという適当なhtmlを指定した「リンク」をクリックすると、 それが開きます。 このとき、<xml>タグを使わずに別のタグを使ってどうようなことができるのならそれを教えていただけたらと思います。 また、この<xml>タグはどういう意味になるのかも教えていただけたらと思います。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • サブウィンドウに背景色をつけたいのですが・・・

    今仕事でホームページを初めて作成しています。 そこで、30秒程度したら自動的に消えるサブウィンドウを作成したのですが、背景色がぜんぜんつきません。 いったいどこに、背景色のスクリプトを表示したらいいのですか。教えてください。 初心者でわからないので、全部のせてしまいました・・・ 要領わるくてすいません。 function createSubWindow() { subWindow = window.open("","SubWindow","width=370,height=220"); subWindow.document.writeln("<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=Shift_JIS'>"); subWindow.document.writeln("<HTML>"); subWindow.document.writeln("<HEAD>"); subWindow.document.writeln("<TITLE>Whata's New?</TITLE>"); subWindow.document.writeln("<SCRIPT LANGUAGE='JavaScript'>"); subWindow.document.writeln("<!--"); subWindow.document.writeln("function setTimer() {"); subWindow.document.writeln("window.setTimeout('window.close()', 30 * 1000);"); subWindow.document.writeln("}"); subWindow.document.write ("//--"); subWindow.document.writeln(">"); subWindow.document.writeln("</SCRIPT>"); subWindow.document.writeln("</HEAD>"); subWindow.document.writeln("<BODY onLoad='setTimer()'>"); subWindow.document.writeln("</BODY>"); subWindow.document.writeln("</HTML>"); subWindow.document.close(); } function closeSubWindow() { if(!subWindow.closed) { subWindow.close(); } } //--> </SCRIPT>

  • iframeでutf-8の.txtを呼び出す。

    HTMLのIframeで、文字コードがUTF-8であるテキストファイル(.txt)を呼び出す。(文字化け?) HTMLのIframeで、文字コードがUTF-8であるテキストファイル(.txt)を呼び出す時に、 内容が文字化けするので困っています。 表記に間違いがあるかもしれませんが、宜しくお願いします>< あと一応確認しましたが万が一既出でしたら申し訳ありません。 <iframe src=~>では、拡張子.htmlのファイルに加えて.txtファイルも呼び出せます。 .htmlファイルの場合、METAタグを使い、内側のHTML内で文字コードを指定しておけば 文字化けは起きないのですが、 txtファイルではそのような指定ができません。 外側(iframeを記述する方)から内側(src=~の呼び出し先)に向かって文字コードを 指定するのは可能ですか? 又はその他によい方法がありますか・・・?? 宜しくお願いしますm(_ _)m

    • ベストアンサー
    • HTML
  • 親ウィンドウのボタンからサブウィンドウを閉じたいのですが・・・。

    いつもお世話になっています。 JavaScript初心者です。 window.closeについて質問させて下さい。 メインウィンドウにある「next」という次のページに移るボタンをクリックすると、開かれているサブウィンドウを閉じる処理を実行したいのですが、window.closeを使えばいいということしか分からず、何をどこに書けば良いのか困っています。(サブウィンドウにも「閉じる」ボタンを作成していますが、親ウィンドウからも操作が出来るようにしたいと思っています。) どうか教えていただけませんでしょうか。 ソースは次の通りです。 ----------------------------- //サブウィンドウの表示 <script language="JavaScript"> function sub(msg){ var page =window.open("", "HintPage","screenX=400,screenY=600,left=400,top=600,width=400,height=250,scrollbars=yes,resizable=yes"); page.document.open(); page.document.writeln("<html>"); page.document.writeln("<head><title>{test}</title></head>"); page.document.writeln("<body leftmargin=\"15\" rightmargin=\"15\" topmargin=\"20\">"); page.document.writeln("<h3>[ {test} ]</h3><hr><br>" + msg + "<br><br><hr><br>"); page.document.writeln("<div align=center>"); page.document.writeln("<input type=button value=close onclick=\"javascript:window.close()\"></div>"); page.document.writeln("</body>"); page.document.writeln("</html>\n"); page.document.close(); page.focus(); } </script> </HEAD> //「next」ボタンの表示 <body> <table cellpadding=3 cellspacing=5 align="right"> <tr> <td bgcolor="#9999ff" align="right"><input type="submit" name="next" value="{nextBtn}" style="width: 140px; height: 20.5px;" onClick="setPname('{next}')" {disabled2}></td></tr> </table> </body> ---------------------------- どうぞよろしくお願い致します。 説明不足の点がありましたら補足させて頂きます。

  • 小窓の出し方について教えて下さい。(2)

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=568520 先ほどご回答を頂き、小窓の開き方は解決致しました。 ↓ <script type="text/javascript"><!-- function subwin(imgsrc,imgalt){ sub1=window.open("","subwin","width=230,height=160,resizable=1"); sub1.document.open(); sub1.document.write("<html><head><title>"+imgalt+"</title></head>"); sub1.document.write("<body style='margin: 0;'>") sub1.document.write("<img src='"+imgsrc+"' alt='"+imgalt+"'>"); sub1.document.write("</body></html>"); sub1.document.close(); } //--></script> body内の、呼び出し部分は、 <a href="#" onClick="subwin('画像ファイルのURL','画像ファイルの説明'); return false;"><img src="p_1.jpg" border="0" width="70" height="48"></a> が、クリックして開く小窓に表示させるHTMLファイルで開かせたい 画像が同じページにあります。(大きさは横500縦600) もう1つ教えて頂いた↓ <script type="text/javascript"><!-- function subwin(file){ window.open(file,"subwin","resizable=1, width=230, height=160"); } //--></script> 以上をhead内に記述して、呼び出し部分は <a href="#" onClick="subwin('読み出すHTMLファイルのURL'); return false;"><img src="p_1.jpg" border="0" width="70" height="48"></a> のwidth=230, height=160をwidth=500, height=600にして上記ソースに加えると(?) 全部の小窓がwidth=500, height=600になってしまいます。 width=230, height=160の画像で開かせる小窓と width=500, height=600のHTMLで開かせたい小窓を 同じページに加えるには、どうしたらよいのでしょうか? ご回答宜しくお願い致します。

  • javascriptについて

    入力した各データをサブウィンドウであらわすため、javascript内で function outdata() { f0bj = document.myform; ftxt = f0bj.yourname.value;     ----(a) fxxt = f0bj.phonenumber.value; ----(a) for(i=1; i<5;i++) if(f0bj.elements[i].checked) fBtn = f0bj.elements[i].value; fsel = f0bj.place.options[f0bj.place.selectedIndex].value; subWin = window.open("abc.html","kekka","width=5000,height=300"); subWin.document.open(); subWin.document.write("a:"+ftxt+"<br>"); subWin.document.write("b:"+fxxt+"<br>"); subWin.document.write("c:"+fBtn+"<br>"); if(fBtn == "c"){ subWin.document.write("d:"+fsel+"<br>"); } subWin.document.close(); } として、html内でそれらの記入をしているのですが、この時に今テキストフォームが2つ(a) あるのですがこの時テキストフォームが2つあると残りのラジオボックスとセレクトメニューが うまく表示してくれないのですが何がいけないのでしょうか? ちなみにラジオボックスには項目は4つ、セレクトメニューは5つあり、テキストフォームを1つ にしたらうまく実行できることは確認済みです。

専門家に質問してみよう