• 締切済み

フレームのページから新しいページをフレーム外に作成したい

教えてください。 上下に区切られたフレームウィンドウがあります。 その上部でボタンを押すと、別に新しいウィンドウが現れ、 ボタンを押したフレームウィンドウを閉じるという操作が 上手く行きません。 上部のフレームに開きたいウィンドウが表示されてしまいます。 nw=window.open("new_window.html",window.name,"width=508,height=155"); で何度やっても駄目でした。 何方かご教授をお願いいたします。

みんなの回答

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.4

>上下に区切られたフレームウィンドウがあります。 >その上部でボタンを押すと、別に新しいウィンドウが現れ、 >ボタンを押したフレームウィンドウを閉じるという操作が >上手く行きません。 ボタンを押すと、フレームウィンドウが閉じると言うことなのでフレーム内からの分離(ボタンの押されたウィンドウがフレームから切り離される)と言う風に解釈して回答します。 以下の3つのソースをファイルにコピーして、実行してみてください。 違ってたら、すいません。 frame.htm ******************************************************* <FRAMESET ROWS="50%,*"> <FRAME SRC="page-a.htm" NAME="aaa"> <FRAME SRC="page-b.htm" NAME="bbb"> </FRAMESET> ******************************************************* page-a.htm ******************************************************* <script language="javascript"> <!-- function popup() { top.location.href="page-b.htm"; window.open("page-a.htm","",""); } //--> </script> Page - A <input type="button" name="popup" value="切り離し" onClick="javascript:popup()"> ******************************************************* page-b.htm ******************************************************* Page - B *******************************************************

  • loveobo
  • ベストアンサー率48% (102/210)
回答No.3

scriptの左辺(新しいウインドウの名前)とopen()の第2引数(ウインドウの タイトル?)の関係について、私は理解できていないのですが、お書きの scriptのまま手元(NN4.7/Mac)で試したら、フレームセット内からでも 横長のサブウインドウが開きましたよ。たまたま上フレーム( rows="50%,*") の前面あたりでしたけれど、 2行目に window.close(); を追加したら 確認ダイアログ「ウインドウを閉じますか?」が出て、OKしたら通りました。 IE5/Macでは、新ウインドウが開くと、確認ダイアログなしで親ウインドウ が閉じました。一方、上記のようにwindow.close(); を追加したらエラー。 そこで、open()の第2引数を "window_name" にして親ウインドウと 無関係にしてみたら通りました。 新ウインドウにはメニューバーが無く (IEでは「表示メニュー」で復活できた)、 別ウインドウも開いている状態でやったら、NNでは新ウインドウが背面に隠れて しまいました。目的にもよりましょうが、私個人は避けていただけたらと・・・

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

ウィンドウ名を変えたくない、のですか? であれば、別ウィンドウとして開くことは無理です。 リサイズして、フレームを解除するというのでは駄目ですか? > nw=window.open("new_window.html",window.name,"width=508,height=155"); window.resizeTo(508, 155); window.parent.location.href = "new_window.html"; 別のウィンドウ名にしてよいのであれば、No.1 の回答のように、第二引数の ウィンドウ名を自分(window.name は自分のウィンドウ名ですね)とは別にしてください。 > で何度やっても駄目でした。 そりゃあ、同じことを何度やっても同じ結果しか出ませんがな (^^;

  • Raphael
  • ベストアンサー率21% (15/69)
回答No.1

新しいウィンドウを開くターゲットの名前は変えてあるんでしょうか?

関連するQ&A