• ベストアンサー

サブウィンドウを複数表示できないようにしたいのですが

現在、親ウィンドウでボタンが押されたらwindow.openで サブウィンドウを表示していますが、サブウィンドウを最小化したり 親ウィンドウにフォーカスが移ったときに親ウィンドウのボタンが 押されたら再びサブウィンドウが開いてしまいます。 再び開かないようにするにはどうしたらいいのでしょうか 常にサブウィンドウを前画面にする(<body onBlur="focus()">)方法は わかったのですがこれではフォーカスが移れません。 フォーカスは移れるようにしたいのですが よろしくお願いします。

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

  • ベストアンサー
  • s_doc
  • ベストアンサー率24% (93/377)
回答No.2

1.window.open()のとき、 同じターゲット名を指定してやれば、 同じウインドウに表示されるはずです。 2.フォーカスを意図的に外したらどうでしょうか。 <body onBlur="focus();blur()">

masa00
質問者

お礼

ありがとうございます。 ターゲット名を指定してできました。 フォーカスの件もターゲット名を指定することで解決できました。 助かりました。

その他の回答 (1)

回答No.1

親ウィンドウでボタンを押す回数をカウントしておき、 2回目以降はボタンが使えなくしてしまえば サブウィンドウは開かないと思います。 フォーカスと言うのは前画面(アクティブ)な領域に することですので、 >これではフォーカスが移れません。 >フォーカスは移れるようにしたいのですが というのがいまいち理解できないので この回答では考慮していません。

masa00
質問者

お礼

早々のご解答ありがとうございます。

関連するQ&A

  • window.open()使用サブウィンドウをモーダルにする方法

    struts + jspで開発を行っています。 window.open()を使用してサブウィンドウを表示する際にサブウィンドウをモーダル化したいと思っていますがうまくいきません。どうすればモーダル化出来るでしょうか?以下のパターンはなしとさせてください。 1.showModalDialogの使用  理由)submitを行った際に新規にウィンドウが開くため 2.onblurの使用

  • 質問です。

    JavaScriptで質問ですが、まずWindow.openで画面を展開し、 展開した画面を常に手前に表示して展開した画面のtextに値を入力できるようにしたいのですが・・ 展開した画面のbodyタグにonBlur="focus()"で 常に手前に表示はできるのですがそうするとtextに何も入力できなくなってしまいます。(フォーカスも当たらない状態です) checkboxやradioは選択できるのですがtextだけなぜか入力できないのですがどうしたら入力できるようになるのでしょうか。 尚、展開した画面からフォーカスがはずれたらalertで警告する処理も加えたいと思っています。 どなたかご教授下さい。お願いします。

  • サブウィンドウがリロードされたとき、手前に表示したい

    <a href= "a1.htm"onClick="window.open 'a1.htm','new','width=600,height=500,scrollbars=1,resizable=1'); return false;"> でサブウィンドウを開いています。 開いた状態で、また親ウィンドウから、別の(a2.htm)ファイルを開きます。同じサブウィンドウで表示されるのですが、親ウィンドウが手前でサブウィンドウが変わったのがわかりません。 サブウィンドウのファイルが変わったときに、 親ウィンドウの手前に表示させることは可能でしょうか?

  • 【FireFox】サブウィンドウ表示とテキストボックス値

    メインのウィンドウにテキストボックスとボタンがあり、 ボタンをクリックするとjavascriptによりサブウィンドウ が開くHTMLがあります。 しかし、FireFoxに限り、ボタンを押してサブウィンドウ を開くとメインのHTMLのテキストボックスに入力していた 値が消えてしまいます。 ================ main.html ===================== <html> <head> <script Language="JavaScript"><!-- function openSubWin(){ window.open("sub.html","window","width=300,height=300"); } // --></script> </head> <body> <form action="#" name="myform"> <input type="text" name="no"> <button id="button1" onclick="openSubWin();" >サブウィンドウ</button> </form> </body> </html> ================== サブウィンドウ ================ <html> <body> サブウィンドウ </body> </html> IEでは問題ありませんでした。 何か解決方法はありますでしょうか? 宜しくお願いします。

    • ベストアンサー
    • HTML
  • サブウィンドウから親ウィンドウのファンクションを起動

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

  • 小さな別ウインドウを常に手前に表示するようにすると、親ウインドウがスクロールしにくいのです

    Javascriptでリンク先を別窓で開くようにしました。 その別窓を、<body onblur="focus()">で常に手前に表示するようにすると、親ウインドウ(リンク元)のスクロールバーが思うように動かないのです。(別ウインドウが常にアクティブになっているからだと思うのですが)どのようにすればよいでしょうか?

  • JavaScript:メインページからサブウィンドウページを遷移させる際

    メインページにボタン画像3つを配置して、それぞれからサブウィンドウを任意のサイズで開こうとしています。サブウィンドウの中身はそれぞれ別のものですが、サイズは同じなのでサブウィンドウ内でwinNameを同一にして、遷移させようとしています。ただ、遷移自体はうまくいくのですが、最初のクリックでサブウィンドウはメインウィンドウより前にでますが、そのまま2つ目のボタンで遷移させようとするとサブウィンドウはメインウィンドウの後ろにいってしまいます。どうしたら、サブウィンドウを絶えずアクティブにできるのでしょうか。 メインぺージのJSにwindow.focus();をいれたり、サブウィンドウのbodyにonBlur="focus()"をいれたり、サブウィンドウのJSにwindow.focus();をいれてもうまくいきませんでした。 どうぞよろしくお願いいたします。 メインページのJS <script language="JavaScript"> <!-- function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } //--> </script> ボタン画像のJS Aボタン:<A href="javascript:void(0); " onClick="MM_openBrWindow('a.html','LA','width=320,height=255')"><IMG SRC="images/t_large.jpg" ALT="Large" WIDTH="120" HEIGHT="28" VSPACE="5" border="0"></A> Bボタン:<A HREF="javascript:void(0); " onClick="MM_openBrWindow('b.html','LA','width=320,height=255')"><IMG SRC="images/t_large.jpg" ALT="Large" WIDTH="120" HEIGHT="28" VSPACE="5" BORDER="0"></A>

  • ページを表示すると同時に複数のサブウィンドウを開く方法について

    ページを表示すると同時に複数のサブウィンドウを開く方法について、 プログラムを作成したらよいのか教えてください。 下記のプログラムは、ページを表示すると同時に1枚のサブウィンドウを開くプログラムですが、3枚ほどサブウィンドウを開きたいのです。 よろしくお願い致します。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- // サブウィンドウの表示方法を指定する function openWindow1() { window.open("sample.html","OpenWindow",scrollbars=no,location=no,menubar=no,toolbar=no, status=no,directories=no,resizable=no"); } //--> </SCRIPT> </HEAD> <BODY bgcolor="#ffffff" onLoad="openWindow1()"> </BODY> </HTML>

  • 親→子→孫サブウィンドウのフォーカスの仕方

    すいません。教えてください。 1.親ページから子サブウィンドウを開いて、そのサブウィンドウは常に手前に表示したい。 2.さらに子サブウィンドウから孫サブウィンドウを開く。子ウィンドウは残したまま。 3.今度は孫ウィンドウが常に手前に表示される。 ということをやりたいのです。 実際にfocusでやってみると、子と孫ウィンドウが競合をおこして、どちらも前に出ようと交互に上に出てフラッシュ状態となってしまいます。 どなたか解決策はありませんでしょうか?

  • サブウィンドウを開くタイミングで親ウィンドウからデータを渡す

    親ウィンドウ、サブウィンドウを両方開いた状態でデータを受け渡す方法は見かけるのですが、 サブウィンドウを初めて開くタイミングで親ウィンドウからデータを渡す方法はありますでしょうか? 現在以下のように書いています。 親ウィンドウ function openLicense(sub, index){ w = window.open('', 'publish', 'toolbar=no,); w.document.open(); w.document.form.password_index.value=index; document.form.submit(); w.focus(); } サブウィンドウ <input name="password_index" type="HIDDEN" value=""> が、「w.document.form.password_indexはnullまたはオブジェクトではありません」 とエラーになります。何かいい方法はないでしょうか。

専門家に質問してみよう