• ベストアンサー

ジャバスクリプトで質問です

2つご教授ください。 1)a.htmlからwindow.open.でb.htmlを別窓で開きます。そのb.htmlを常に手前に表示すべく、b.htmlの中に「setInterval("window.focus()",2000) 」を書き込んでいます。 それを、ラジオボックスか何かで、この常に手前に表示するかしないかを選べるようにしたいのです。具体には、最初開いた時はチェックがあり、定期的にフォーカスを移し、チェックをはずすと、フォーカスをはずす…というふうに。ですが、やり方が皆目検討がつきません。どのようにしたらよいでしょうか。 2)1)の話と連動するのですが、b.htmlからa.htmlを操作したいのですが、a.htmlにフレーム名を認識させるやり方があったと思うのですが、思い出せません。 ぜひご教授くださいますよう、お願いします。

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

  • ベストアンサー
  • akanekor
  • ベストアンサー率52% (102/194)
回答No.2

とりあえず、(1)の方法で作成した場合のサンプル <html> <head> <script type="text/javascript"> function SetNextTimeMyFocus() { if (document.getElementById("CHK_BOX1").checked == true) { window.focus(); } } </script> </head> <body onload='setInterval("SetNextTimeMyFocus()",20)'> bbb <input type="checkbox" ID="CHK_BOX1" checked=true> </body> </html> ブラウザの種類でどうも"window.focus();" 処理が違うらしく、 IE6だと全ウィンドウの最前面で、 Operaは、タブ内で最前面。 FireFoxはFireFox内での最前面になる模様。 (2)は、 "b.htmlからa.htmlを操作"なら、No1さんの言う通り"opener"使います。 ただ"a.htmlにフレーム名を認識させるやり方"って何の事でしょか?

nsi2xpz
質問者

お礼

助かりました。サンプルまでつくっていただいてありがとうございます。そのまま使わせていただきます。 (2)の方は、以前、どなたかに教わった気がしたのですが…。a.html自身にフレームとして認識させるスクリプトを… でも、openerで対応できそうです。ありがとうございました。

その他の回答 (1)

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.1

1).ユーザーにするかしないの二択をさせたいならば、a.html→b.html 時にJavaScriptで確認ダイアログを表示し 「はい」 ... window.showModalDialogでb.htmlを表示する。 「いいえ」... window.openでb.htmlを表示する。 2).b.htmlにとって、a.htmlは親ウィンドウなので window.openerで操作可。 以上

nsi2xpz
質問者

お礼

そういうやり方もありましたか。 少し考えてみます。

関連するQ&A

  • 質問です。

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

  • HP作成/ジャバスクリプトの記載方法

    こんにちは。HP作成初心者です。 下記のタグ(サムネイル画像をクリックすると、別窓で拡大表示)なんですが、別窓を開いた際に <BODY oncontextmenu="alert('右クリック禁止です');return false;">を記載して別窓内の右クリックを禁止させたいんですが、下記文章内のどのスペースに禁止タグを貼付ければよいか解らずに困っています。 よろしければアドバイス御願します。 サムネイル別窓ソース↓ a href="Javascript:tempWin.focus()" onClick="tempWin=window.open('s.t.gif','sample','width=400,height=400')" border="0"> <img src="s.t.gif" width="80" height="80" border="0"> <a href="Javascript:tempWin.focus()" onClick="tempWin=window.open('member1.jpg','sample','width=400,height=400')" border="0"> <img src="member1.jpg" width="80" height="80" border="0"></a> <a href="Javascript:tempWin.focus()" onClick="tempWin=window.open('member1.jpg','sample','width=400,height=400')" border="0"> <img src="member2.jpg" width="80" height="80" border="0"></a>

    • ベストアンサー
    • Mac
  • 一つのボタンで2つの性格を持たせる

    こういうことを考えています。 できましたら、ぜひご教授ください。 a.htmlからwindow.openで、b.htmlを開きます。 b.htmlにボタン(もしくはアイコン)を設置して、そのボタン(アイコン)をクリックした時、次のようにしたいのです。 1)a.htmlが表示されている場合(最小化を含む)、b.htmlは閉じる 2)a.htmlが表示されていない場合(つまり、閉じられてしまったら)、a.htmlを別窓で表示し、b.html自身は閉じる その2つのことを一つのボタン(アイコン)でやらせたいのですが、クロスブラウザでできますでしょうか? ぜひぜひご教授いただけますよう、お願いします

  • java scriptで新しいウィンドゥを開く

    クリックすると、アドレスバー等がない新しいウィンドゥで開く…という風にしたいのですが、うまく行きません。 以下のようにやってみたのですが、何処が間違っているのでしょうか? <script language="JavaScript"> <!-- function winopen(url){ win=window.open(url,"host","scrollbars=1,width=717,height=700"); } //--> </script><FONT size="+1"><B><A href="ブログのアドレス" target="_blank" onclick="Javascript:winopen('ブログのアドレス');return false;">ここをクリック</A></B></FONT>

    • ベストアンサー
    • HTML
  • java scriptによるポップアップウインドウについて

    <head> <SCRIPT language="JavaScript"> <!-- function OpenWin1(){ win=window.open("window1.html","new","width=300,height=100"); } // --> <!-- function OpenWin2(){ win=window.open("window2.html","new","width=500,height=200"); } // --> </SCRIPT> </head> <body bgcolor="#FFFFFF" text="#000000"> <A href="javascript:OpenWin1()">1.ウィンドウを開く</A> <A href="javascript:OpenWin2()">2.ウィンドウを開く</A> </body> 「1.ウィンドウを開く」をクリックしてwindow1.htmlのポップアップウインドウを表示させたまま、「2.ウィンドウを開く」をクリックすると、最初のウインドウサイズを保持したまま、新しいウインドウが開いてしまうのですが、これをうまく処理する方法はないのでしょうか? どなたかアドバイス頂けると嬉しいです。 よろしくお願い致します。

  • window.openのターゲットについて

    ウィンドウをjavascriptで開く際に、 window.open("URL","_top")のように ターゲットを指定できると思うのですが、 今一どこを指定しているのかわかりません。 ページA(フレームで分けられている)からwindow.openでページBを開いた場合、ターゲットに_top,_selfなどと指定した場合はページAのフレームのことを指しているのでしょうか? また今、ページA(フレームで分けられている)でURLをクリックするとファイルをダウンロードするプログラムを作成しているのですが、window.openのターゲットに_topを指定すると新しいウィンドウが表示されないのに、_self,_blankなどを指定するとウィンドウが表示され、ダウンロードが終わっても表示されたままになってしまいます。どうしてこのような違いが起きるのかお分かりになる方がみえましたら教えてください。 よろしくお願いいたします。

  • 親ウィンドウの別フレームを子ウィンドウから操作したい

    いろいろ試しているのですが、理解不足のせいでしょうが、どうやってもできません! 内容は以下の通り(分からないのは3)です。どうぞ宜しくお願いいたします。 1:画面を、AとBの2つのフレームに分割しています。 【index.html】 <frameset>  <frame src="A.html" name="A">  <frame src="B.html" name="B"> </frameset> 2:Aフレーム内に記述してあるaaaアンカーをクリックすると、子画面ko.htmlを開きます。 <a href="javascript:void(0)" onclick="window.open('path=ko.html','_blank');">子画面</a> 3:ko.htmlではbbbというアンカーがあって、それをクリックすると、"親画面のBフレームにbbbで指定したリンク内容を表示したい"のです。 <a href="javascript:void(0)" onclick="opener.window.location=('B?path=/home/~/~/ZZZ.html');">開きたいファイルZZZ.html</a> と書くと、openerはAだからAにZZZ.htmlの内容が表示されてしまうので、(全くおかしな記述をしているのかもしれませんが・・・(- -;))あちこち調べながら、 B.opener.window.locationとか、 B.opener.window.location.hrefとか、 parent.B.window.locationとか、 parent.frames[1].window.locationとか、 ほかにもいろいろやってみたのですが、出来ませんでした・・・。 このような別フレームの操作が出来る方法があれば教えてください。 宜しくお願いいたします。

  • 親子関係のWindowについて

    いつもお世話になります。 AのWindow(親)、BのWindow(子)があるのですが、下記の仕様に悩んでいます。 *** 仕様 *** Bが画面の手前(アクティブ状態)にある時、あるボタンを押下すると、現在Aが開かれているかを判断し、Aが開かれている場合、Aを画面の手前に表示する。また、Aが開かれていない場合、Aを再度開き、画面の手前に表示する。 ************ ここで悩んでいるのが「現在Aが開かれているかを判断」する方法と「Aを画面の手前に表示する」方法です。 どなたかご存知の方がいましたらご教授をお願いいたします。

  • 子同士で窓操作

    親窓から2つの子窓ABを開き、子窓Aから子窓Bを操作したいです。 子窓Aはポータルサイトへのリンクがあり、 それをクリックするとBに表示される仕組みのものを作りたいです。 window.open()でABの窓を名前付きで開くまではできたのですが、 リンクをクリックしてもエラーになってしまいます。 親ならwindow.opener.location.hrefでできると思いますが、子同士だとどのように書けばいいのかわかりません。 ご存知の方いましたらアドバイスお願いします。

  • javascript/target="_blank

    フレーム内から別窓でurlを開こうとしています。 htmlでは以下の通りで、実現できます。 <a href="http://www.goo.ne.jp/" target="_blank">goo</a> JavaScriptで window.open(my_url,'_blank'); return false; としても、別窓で開くのですが、戻るの「←」が表示されてしまいます。(上記、「my_url」は変数です。) 宜しくお願いします。

専門家に質問してみよう