• 締切済み

resizeTo

下記は投稿画像を投稿者が画像を確認するコードです、 window openで開いたウィンドウが消えずに resizeToで開いたウインドウと2つのウインドウが表示されます、confirm が原因のようなのですが window openで開いたウインドウを消すにはどうすればいいですか。 function check1(Form1) { imag = "file:///"+document.Form1.file_1.value.replace(/\\\\/g, '/'); var new1 = window.open('','new1', 'width=400, height=400,resizable=1'); new1.document.writeln("<HTML lang='ja'>"); new1.document.writeln("<HEAD>"); new1.document.writeln("<META HTTP-EQUIV=\\"Content-Script-Type\\" CONTENT=\\"text/javascript\\">"); new1.document.writeln("<TITLE>画像確認<"+"/TITLE>"); new1.document.writeln("<"+"/HEAD>"); new1.document.writeln("<BODY TOPMARGIN=0 LEFTMARGIN=0 MARGINHEIGHT=0 MARGINWIDTH=0><CENTER>"); new1.document.writeln("<img src=\\""+imag+"\\" name=\\"myimage0\\">"); w = new1.document.images["myimage0"].width; h = new1.document.images["myimage0"].height; new1.document.writeln("<"+"/CENTER>"); new1.document.writeln("<"+"/BODY>"); new1.document.writeln("<"+"/HTML>"); new1.resizeTo(w,h); // new1.document.writeln("<SCRIPT type='text/javascript'>"); new1.document.writeln("<!-"+"-"); new1.document.writeln("var conf = confirm('この画像でOKですか?');"); new1.document.writeln("//-"+"->"); new1.document.writeln("<"+"/SCRIPT>"); // new1.document.close(); if (conf = new1.conf) { new1.moveTo(710,0); } else { new1.close(); } }

みんなの回答

  • coral0
  • ベストアンサー率92% (13/14)
回答No.1

このソースの場合、原因はconfirmでは無いと思われます。 私のパソコンでも試して見ましたが、上記の例を実行しようとすると、エラーが幾つも出てしまいました(^^; (エラーを抑制して実行を続けると、ウィンドウは閉じられませんでした) 1.「'document.Form1.file_1'はNullまたはオブジェクトではありません。」 2.「')'がありません。」 一つ目のエラーの発生原因ですが、check1でフォームを引数で渡しているような処理を書かれていますが、結局、document.Form1.・・・とする事で、FORM名「Form1」のフォームしか対象にならない事になりますので、ココは何らかの対処をした方が良いかと思います。 二つ目のエラー、「')'がありません」ですが、これは上記の例の「META」タグを記述している部分、「IMG」タグを記述している部分を良く見て頂ければ分かると思いますが、「\""」と書かれている部分がおかしいですよね JavaScript内で「"(シングルクォーテーション)」を表そうとした場合、「\"」だけで良いのです。 誤って「\""」としてしまうと、JavaScriptでは文字列がそこで終了してしまったかのように誤認してしまいます。 その二点を修正した所、こちらでもウィンドウは閉じてくれるようになってくれましたよ^^ あともう少しで完成でしたね♪ 他にも修正した箇所はありますが、下に修正した例を載せておきますので、この調子で、ホームページ作成、頑張ってください! (修正を加えた箇所には"修正"と書いています) ------------------------------------------- <HTML> <BODY> <SCRIPT LANGUAGE="JavaScript"> <!-- function check1( Form1 ) { imag = "file:///" + Form1.file_1.value.replace(/\\\\/g, '/'); // 修正 var new1 = window.open('','new1', 'width=400, height=400,resizable=1'); new1.document.writeln("<HTML lang='ja'>"); new1.document.writeln("<HEAD>"); new1.document.writeln("<META HTTP-EQUIV=\"Content-Script-Type\" CONTENT=\"text/javascript\">"); // 修正 new1.document.writeln("<TITLE>画像確認<"+"/TITLE>"); new1.document.writeln("<"+"/HEAD>"); new1.document.writeln("<BODY TOPMARGIN=0 LEFTMARGIN=0 MARGINHEIGHT=0 MARGINWIDTH=0><CENTER>"); new1.document.writeln("<img src=\""+imag+"\" name=\"myimage0\">"); // 修正 w = new1.document.images["myimage0"].width; h = new1.document.images["myimage0"].height; new1.document.writeln("<"+"/CENTER>"); new1.document.writeln("<"+"/BODY>"); new1.document.writeln("<"+"/HTML>"); new1.resizeTo(w,h); // new1.document.writeln("<SCRIPT type='text/javascript'>"); new1.document.writeln("<!-"+"-"); new1.document.writeln("var conf = confirm('この画像でOKですか?');"); new1.document.writeln("//-"+"->"); new1.document.writeln("<"+"/SCRIPT>"); // new1.document.close(); if (new1.conf) { new1.moveTo(710,0); } // 修正 else { new1.close(); } } //--> </SCRIPT> <FORM NAME="form1" ACTION="JavaScript:check1(document.form1);"> <INPUT TYPE="FILE" NAME="file_1"></INPUT><BR> <INPUT TYPE="SUBMIT" VALUE="投稿確認"> </FORM> </BODY> </HTML> -------------------------------------------

hana3090
質問者

補足

解答ありがとう、 指摘された修正の内、1番目と4番目は修正しました 2番目と3番目はPerlで書いているため \は、はずせません、 そのためかウィンドウは閉じることが出来ません 他に修正の個所があればお願いします。 

関連するQ&A

  • アラートをクリックした後、別ウインドウを閉じる

    下記はCGIのフォームから画像を送信する時、別ウインドウに画像を表示して、アラートでOKかキャンセルかを確認するJavaScriptです、 OKの場合別ウインドウを自動的に閉じたいのですが、 print <<"END_HERE"; <SCRIPT language="JavaScript"> <!-- function check() { imag = "file:///"+document.Form1.file_1.value.replace(/\\\\/g, '/'); var new1 = window.open('','new1', 'width=500, height=400'); new1.document.writeln("<HTML lang='ja'>"); new1.document.writeln("<HEAD>"); new1.document.writeln("<META HTTP-EQUIV=\\"Content-Script-Type\\" CONTENT=\\"text/javascript\\">"); new1.document.writeln("<TITLE>画像確認<"+"/TITLE>"); new1.document.writeln("<"+"/HEAD>"); new1.document.writeln("<BODY ><CENTER>"); new1.document.writeln("<img src=\\""+imag+"\\">"); new1.document.writeln("<SCRIPT type='text/javascript'>"); new1.document.writeln("<!-"+"-"); new1.document.writeln("var conf = confirm('この画像でOKですか?');"); new1.document.writeln("//-"+"->"); new1.document.writeln("<"+"/SCRIPT>"); new1.document.writeln("<"+"/CENTER>"); new1.document.writeln("<"+"/BODY>"); new1.document.writeln("<"+"/HTML>"); new1.document.close(); return new1.conf; } //--> </SCRIPT> END_HERE よろしくお願いします。

  • JavaScriptのソース一部が画面にそのまま表示されてしまう

    下記のリストは投稿する画像の確認をするPearCGIのJavaScriptです <SCRIPT language="JavaScript"> <!-- var CR = "\\r"; var LF = "\\n"; var tag_change; var amp_change; var space_change; function check2(Form1){ var new2 = window.open('','new2','scrollbars=yes, resizable=1, WIDTH=100, HEIGHT=100'); new2.moveTo(0,0); new2.resizeTo(700,800); new2.focus(); whole = 2; h_mode = 1; space_change = 1; tag_change = 1; amp_change = 1; honbun = 1; new2.document.writeln("<HTML lang='ja'>"); new2.document.writeln("<HEAD>"); new2.document.writeln("<META HTTP-EQUIV=\\"Content-Script-Type\\" CONTENT=\\"text/javascript\\">"); new2.document.writeln("<TITLE>画像コメント確認<"+"/TITLE>"); new2.document.writeln("<"+"/HEAD>"); new2.document.writeln("<BODY BACKGROUND='./kabe/k2.gif'>"); new2.document.writeln("<FONT SIZE=4 COLOR='NAVY'>"); idata = window.document.Form1.pr.value; new2.document.writeln(lineX(idata)); new2.document.writeln("<"+"/FONT>"); new2.document.writeln("<CENTER>"); imag = "file:///" + document.Form1.file_1.value.replace(/\\\\/g, '/'); new2.document.writeln("<img src=\\""+imag+"\\" alt='画像がありません'>"); new2.document.writeln("<"+"/CENTER>"); new2.document.writeln("<SCRIPT type='text/javascript'>"); new2.document.writeln("<!-"+"-"); new2.document.writeln("var sw = confirm('画像、コメントOKですか?');"); new2.document.writeln("<"+"/SCRIPT>"); new2.document.writeln("<"+"/BODY>"); new2.document.writeln("<"+"/HTML>"); new2.document.close(); if (sw = new2.sw) { new2.close(); // new2 はレスと画像を確認したwindow var new1 = window.open('','new1', 'width=50, height=50,resizable=1'); new1.close(); } else { new2.close(); // new1 は画像確認したwindow var new1 = window.open('','new1', 'width=50, height=50,resizable=1'); new1.close(); } return sw; } //--> </SCRIPT> ************************* CGIを実行すると 下記のJavaScriptのソースが画面の上部に表示されてしまいます どこが間違っているのか分かりません よろしくお願いします。 ****************************** "); // new2.document.writeln(""); // idata = window.document.Form1.pr.value; // new2.document.writeln(lineX(idata)); // new2.document.writeln("<"+"/FONT>"); // new2.document.writeln(" "); // imag = "file:///" + document.Form1.file_1.value.replace(/\\/g, '/'); // new2.document.writeln(""); // new2.document.writeln("<"+"/CENTER>"); // new2.document.writeln("

  • 投稿画像の確認画面

    下記は画像を投稿したとき投稿画像を確認するPerlコードです、 別画面に投稿した画像が表示されたのですが最近画像が表示されなくなりました、何処か間違っているのか分かりませんよろしくお願いします。 <SCRIPT language="JavaScript"> <!-- var CR = "\\r"; var LF = "\\n"; var tag_change; var amp_change; var space_change; function check2(Form1){ var new2 = window.open('','new2','scrollbars=yes, resizable=1, WIDTH=100, HEIGHT=100'); new2.moveTo(0,0); new2.resizeTo(700,800); new2.focus(); whole = 2; h_mode = 1; space_change = 1; tag_change = 1; amp_change = 1; honbun = 1; new2.document.writeln("<HTML lang='ja'>"); new2.document.writeln("<HEAD>"); new2.document.writeln("<META HTTP-EQUIV=\\"Content-Script-Type\\" CONTENT=\\"text/javascript\\">"); new2.document.writeln("<TITLE>画像コメント確認<"+"/TITLE>"); new2.document.writeln("<"+"/HEAD>"); new2.document.writeln("<BODY BACKGROUND='./kabe/k2.gif'>"); new2.document.writeln("<FONT SIZE=4 COLOR='NAVY'>"); idata = window.document.Form1.pr.value; new2.document.writeln(lineX(idata)); new2.document.writeln("<"+"/FONT>"); new2.document.writeln("<CENTER>"); imag = "file:///" + document.Form1.file_1.value.replace(/\\\\/g, '/'); new2.document.writeln("<img src=\\""+imag+"\\" alt='画像がありません'>"); new2.document.writeln("<"+"/CENTER>"); new2.document.writeln("<SCRIPT type='text/javascript'>"); new2.document.writeln("<!-"+"-"); new2.document.writeln("var sw = confirm('画像、コメントOKですか?');"); new2.document.writeln("<"+"/SCRIPT>"); new2.document.writeln("<"+"/BODY>"); new2.document.writeln("<"+"/HTML>"); new2.document.close(); if (sw = new2.sw) { new2.close(); // new2 はレスと画像を確認したwindow var new1 = window.open('','new1', 'width=50, height=50,resizable=1'); new1.close(); } else { new2.close(); // new1 は画像確認したwindow var new1 = window.open('','new1', 'width=50, height=50,resizable=1'); new1.close(); } return sw; }

  • 画像を送信して壁紙の変更

    下記はPerlのCGIです、FROMで画像を参照し送信すると 壁紙が変更できるコードです、JPGの画像が送信された時は可能なのですが GIFの画像が送信された時は変更できません、 両方の画像で変更できるようにしたいのですがよろしくお願いします。 <SCRIPT language="JavaScript"> <!-- function check() { imag = "file:///"+document.Form1.file_1.value.replace(/\\\\/g, '/'); var new1 = window.open('','new1'); new1.document.writeln("<HTML lang='ja'>"); new1.document.writeln("<HEAD>"); new1.document.writeln("<META HTTP-EQUIV=\\"Content-Script-Type\\" CONTENT=\\"text/javascript\\">"); new1.document.writeln("<TITLE>壁紙変更<"+"/TITLE>"); new1.document.writeln("<"+"/HEAD>"); new1.document.writeln("<BODY BACKGROUND=\\""+imag+"\\">"); new1.document.writeln("<IMG SRC='/image/123.jpg'>"); new1.document.writeln("<"+"/BODY><"+"/HTML>"); } //--> </SCRIPT>

  • 投稿画像の表示

    下記のコードは画像送信するホームと、別のウィインドウに表示するJsですが、画像は表示できません function check() { var new1 = window.open('','new1', width=200, height=250'); imag = document.Form1.file_1.value; new1.document.write("<img src="+imag+">"); new1.document.close(); confirm("ok"); } print "<FORM NAME=\"Form1\" METHOD=\"POST\" ACTION=\"./photo.cgi\" onSubmit=\"check()\">\n"; print "<INPUT TYPE=\"file\" NAME=$file_1 VALUE=\"\">\n"; print "<INPUT TYPE=\"submit\" NAME=\"button\" VALUE=\"新規投稿\">\n"; 送信する時に画像を別のウィインドウに表示して確認してから送信出来るようにonSubmitを使って参照ボタンで指定した画像を別のウィインドウに画像を表示出来ますか、出来るとすればどのよいにすれば良いですか。 よろしくお願いします。

  • サブウィンドウに背景色をつけたいのですが・・・

    今仕事でホームページを初めて作成しています。 そこで、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>

  • 開いたウインドーの、ハンドルはどこに?

     ウインドー、オープンは、できたのですが、  その新ウインドーの要素・   エレメントの、ハンドルがわかりません。  オープンした返値、 Widが、 別ウインドーのハンドルじゃ、ないのでしょうか  親ウインドーから、新ウインドーの内容を読み出したいのです。   <html> <head> <script language="JavaScript" type="text/javascript"> wid = window.open("http://kikitai.teacup.com/205/c221.html"); var taglist = ""; for (i = 0; i < wid.document.all.length; i++) { taglist += wid.document.all(i).tagName; taglist += " "; } //tx_hd = wid.prompt( taglist, ); document.writeln("<pre>"); document.writeln("AAA"); document.writeln(taglist ); document.writeln("AAA"); document.writeln(wid ); document.writeln("</pre>"); </script> </head> <body> オープンウインドー テスト<br> </body> </html>

  • ・JAVASCRIPTを使って、ホームページを作成しています。

    ・JAVASCRIPTを使って、ホームページを作成しています。 ・ JAVAを使って、ホームページを作成しています。 ・メニューのボタンに、マウスオーバーでボタンの画像を切り替える <!-- loadImage = new Image(); loadImage.src = "profile.gif"; // --> ・と同時に任意の画像を切り替える // ポイント時の処理 function On(name) { if (document.images) { document.images['def'].src = eval(name + '.src'); } } // 放した時の処理 function Off() { if (document.images) { document.images['def'].src = img0.src; } } // --> ・というscriptを同時に使いたいのですが、どちらかだけになってしまったり、どちらも作動しません。 ・一つのボタンに2つのJAVAを使う場合何か特別な入力が必要なのでしょうか? ・それとも、ただ単純にボタンのタグが誤っているのでしょうか? ・どなたかご教授お願い致します。 ・ちなみにタグを全て載せると、 <SCRIPT Language="JavaScript"> <!-- loadImage = new Image(); loadImage.src = "bbs.gif"; // --> </SCRIPT> <script type="text/javascript"> <!-- if (document.images) { // 設定開始(使用する画像を設定してください) // 通常の画像 var img0 = new Image(); img0.src = "topic4.jpg"; // ポイント時の画像1 var img1 = new Image(); img1.src = "topic4.jpg"; // 設定終了 } // ポイント時の処理 function On(name) { if (document.images) { document.images['def'].src = eval(name + '.src'); } } // 放した時の処理 function Off() { if (document.images) { document.images['def'].src = img0.src; } } // --> </script> とボタンのタグが、 <A HREF="../usatop.html"onMouseOver="On('img2')" "if(document.images) "myImage.src='bbs2.gif'" "onMouseOut="Off()""if(document.images) "myImage.src='bbs.gif'"><IMG SRC="bbs.gif" BORDER="0" name="myImage"></A> ・となっております。 ・よろしくお願いします!

  • ・JAVAを使って、ホームページを作成しています。

    ・JAVAを使って、ホームページを作成しています。 ・メニューのボタンに、マウスオーバーでボタンの画像を切り替える <!-- loadImage = new Image(); loadImage.src = "profile.gif"; // --> ・と同時に任意の画像を切り替える // ポイント時の処理 function On(name) { if (document.images) { document.images['def'].src = eval(name + '.src'); } } // 放した時の処理 function Off() { if (document.images) { document.images['def'].src = img0.src; } } // --> ・というscriptを同時に使いたいのですが、どちらかだけになってしまったり、どちらも作動しません。 ・一つのボタンに2つのJAVAを使う場合何か特別な入力が必要なのでしょうか? ・それとも、ただ単純にボタンのタグが誤っているのでしょうか? ・どなたかご教授お願い致します。 ・ちなみにタグを全て載せると、 <SCRIPT Language="JavaScript"> <!-- loadImage = new Image(); loadImage.src = "bbs.gif"; // --> </SCRIPT> <script type="text/javascript"> <!-- if (document.images) { // 設定開始(使用する画像を設定してください) // 通常の画像 var img0 = new Image(); img0.src = "topic4.jpg"; // ポイント時の画像1 var img1 = new Image(); img1.src = "topic4.jpg"; // 設定終了 } // ポイント時の処理 function On(name) { if (document.images) { document.images['def'].src = eval(name + '.src'); } } // 放した時の処理 function Off() { if (document.images) { document.images['def'].src = img0.src; } } // --> </script> とボタンのタグが、 <A HREF="../usatop.html"onMouseOver="On('img2')" "if(document.images) "myImage.src='bbs2.gif'" "onMouseOut="Off()""if(document.images) "myImage.src='bbs.gif'"><IMG SRC="bbs.gif" BORDER="0" name="myImage"></A> ・となっております。 ・よろしくお願いします!

    • ベストアンサー
    • Java
  • javascriptで別ウインドウを開いたのですが背景設置が上手くいきません。

    いつもお世話になっております。 JavaScriptを使用し別ウインドウで画像を表示させているのですが、 そのウインドウの背景が上手く設定できません。 どのように編集すればよいでしょうか? 現在の状態は以下の通りです。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>aaa</title> <script language="javascript"> <!-- function OpenWindow(){ var width = document.images['00'].width + 228; var height = document.images['00'].height +254; subWin = window.open("","subWin","status=no,menubar=no,toolbar=no,scrollbars=no,resizable=yes,screenX=0,screenY=0,width=" + width + ",height=" + height + '"'); with(subWin.document) { open(); write("<html><head><title>sample1</title></head>"); write("<body onload='window.resizeTo( document.images[00].width + 40,document.images[00].height + 120)'><div align='center'><img id='00' src='b/1b.jpg'><br>"); write("<button type='button' onclick='window.close()'>閉じる</button></body></div></html>"); close(); } } --> </script></head> 宜しくお願いします。

専門家に質問してみよう