• ベストアンサー

子ウィンドウを手前に表示する

子ウィンドウがまだ開かれていない場合に、子ウィンドウを開く。子ウィンドウがすでにある場合に子ウィンドウが手前に表示されるボタンを作りたいです。 今、作成中のPROGは以下です。 var subwin; function display(url){  if(subwin && !subwin.closed){   subwin.focus();  }else{   subwin = window.open(url, "", "width=768,  height=512");   subwin.moveTo(125,120);  } } このPROGでは、一度目のopen()は可能なのですが、テストでウィンドウを閉じて、もういちどクリックしてみると二度目からopen()されずに、エラーが出てしまいます。 どなたか、解決法を教えてください。 IE6、sp2です。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

ウチもIE6SP2ですが、 期待したように動いているように思えます。(ウチではエラーになりません) エラーのでる行とエラーメッセージはなんでしょうか?

minorpenta
質問者

補足

まず、focus()を実行した時に、上手く動きません。子ウィンドウにフォーカスがあたってはいるんですが、手前に表示されることがないのです。 もう一度子ウィンドウを閉じて、この部分を実行してみると、なぜかブラウザ左下に「!ページでエラーが発生しました。」と表示されます。JAVASCRIPTは素人なため何行目にエラーが発生したのか明示的にする方法がわかりません。少ない情報かもしれませんが、よろしくお願いします。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>子ウィンドウにフォーカスがあたってはいるんですが、手前に表示されることがないのです。 ウチでは、手前に表示されます。(?-?) エラーがでているのは、質問で載せられた以外のソースの部分で起こっているのではないでしょうか・

minorpenta
質問者

お礼

ありがとうございます。実は前回の回答を基に、他のPCで実行させてみると、なぜかエラーがでなかったんです。なぜだかまだ未明ですが、とりあえずは関門はとおりました。

関連するQ&A

  • 子ウィンドウから子ウィンドウ

    子ウィンドウから文字をクリックして、 同じ大きさの子ウィンドウを開かせたいのですが、 下記のJavaScriptでは子ウィンドウが開きません。 子ウィンドウから子ウィンドウを開かせるには どのようにしたらいいのでしょうか? ご回答宜しくお願い致します。 head内は、 <script type="text/javascript"><!-- function subwin(file){ window.open(file,"subwin","resizable=1, width=600, height=500, scrollbars=yes"); } //--></script> body内の呼び出し部分は、 <a href="ファイルのURL" onclick="subwin('ファイルのURL'); return false;">

  • 小ウインドウのスクロールバー

    小さいウインドウを出してメニューを作ろうと思っています そこで、早速作ってみたところ、小さいウインドウにはスクロールバーがありませんでした 小ウインドウには、スクロールバーは表示できないのでしょうか? 表示させる方法がありましたら、教えて下さい ちなみに、小ウインドウは下記のようにしています <SCRIPT LANGUAGE="JavaScript"> <!-- function subopen(){ subwin=window.open("menu.html","subwindow","width=290,height=185") } function subclose(){ subwin=window.open("","subwindow","width=290,height=185") subwin.close() } // --> </SCRIPT>

  • 複数のウインドウを表示したい

    ホームページを作っていますが、ページ上に複数の画像があり画像をクリックすると別ウィンドウで画像を表示するようにしたいのですが、今のプログラムでは最初に表示し、次をクリックしても画像が切り替わりません。どうしたらよいのでしょうか?ちなみに今は <script language="JavaScript"> <!-- function openWin(url) { return false; } // --> </script> <script language="JavaScript1.1"> <!-- var w = window; function openWin(url) { if ((w == window) || w.closed) { w = open(url, "_blank", "width=400,height=319"); } else { w.focus(); } return(false); } // --> </script> <a href="##.htm" onClick="return openWin('##.htm')"> <img src="##.jpg" width="60" height="12" border="0"></a> ##はファイル名 といった様になっています。

  • 新しい子ウィンドウを開くと古い子ウィンドウのすぐ上に表示されるようにしたい。

    Javascript初心者です。わかりやすく具体的に教えてください。 親ウィンドウから画像1、画像2にリンクを張り、それぞれ子ウィンドウとして開きます。 現在はつぎのようにしています。 <script type="type/javascript"> function wopen1{ window.open('画像1のURL','new1',scrollbars=no,resizable=no,width=420,height=280');} function wopen2{ window.open('画像2のURL','new2',scrollbars=no,resizable=no,width=300,height=450');} </script> <body> <a href="#" onClick="wopen1()">画像1</a> <a href="#" onClick="wopen2()">画像2</a> </body> これだと画像1を開いた後に画像2を開くと階層的(レイヤー的?)に上から順に「画像2の子ウィンドウ>親ウィンドウ>画像1の子ウィンドウ」と表示されます。 これを「画像2の子ウィンドウ>画像1の子ウィンドウ>親ウィンドウ」の順で表示されるようにしたい。 また、画像2を開いた後に画像1を開く場合は同様に「画像1の子ウィンドウ>画像2の子ウィンドウ>親ウィンドウ」となるようにしたい。 どうしたらよいでしょうか? よろしくお願いします。

  • 子ウインドウのスタイルについて

    すみません、分かる方、教えてください。 次のようにJSP内のJavaScriptの関数にて、スタイルを指定しても子ウインドウがサイズ変更できてしまいます。 var style = "width=630,height=400,resizable=0, location=0, menubar=0,scrollbars=yes"; WindowObject = window.open(url,"MAIN",style); resizable=noとしても同様でした。scrollbars=noとした場合はスクロールバーなしとなるのですが何故でしょうか?

  • <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
  • 指定のウインドウを手前に(続き)

    さきほどの続きです。 すみません。 ネスケ4.7では思ったとおりに動くのですが、 IE5だと focus() がうまく動きません。 function OpenWin(page){ var src = page + ".html"; w=window.open((src),'NewWin','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width=300,height=600'); w.focus(); } としています。 何か書き方おかしいでしょうか。 よろしくお願いします。

  • FirefoxでselectedIndexが使えない

    Firefoxで、selectedIndex属性に値を入れることができません。 IEですと問題なく動きます。 恐れ入りますが、どなたか解決策をご教授くださいますよう、お願い致します。 【環境】  IE: 6.0 SP2  Firefox: 2.0.0.1 【やりたいこと】  子画面から親画面のプルダウンメニューの値を変更させる。 【方法】  1.親画面からポップアップ画面(子画面)を表示  2.子画面のボタンをクリック  3.親画面のプルダウンメニューの値を変更 【ロジック】  //親画面   var url = "xxx";   var subwin = window.open( url, "", "width=500,height=500,scrollbars=yes", "_blank" );   subwin.focus();  //子画面   window.opener.document.getElementById( "a" ).selectedIndex = 1;

  • 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> 宜しくお願いします。

  • 小窓に余白が・・・

    <script language="JavaScript"><!-- var pop; function newwindow(URL,WIDTH,HEIGHT,LEFT,TOP){ pop = window.open(URL,"PopWindow","directories=0,location=0, menubar=0,toolbar=0,status=0,resizable=0, scrollbars=0"+",width="+WIDTH+",height="+HEIGHT+", left="+LEFT+",top="+TOP); pop.focus();pop.moveTo(LEFT,TOP);pop.resizeTo(WIDTH,HEIGHT); } function closenewwin(){ if (pop){ pop.close(); } } // --></script> jpg画像を設定しておりますが、小窓に余白ができてしまいます。 画像ぴったりに納めたいのですが、小窓のサイズを変えても 余白ができてしまいます。 どのようにすれば余白はなくなりますか?

専門家に質問してみよう