Safariで「閉じる」ボタンが機能しません



0   名前: はまみー : 2007/06/27(水) 21:56  ID:LYfA41cU sub-Np
SafariでJavaScriptを使用した「閉じる」ボタンがうまく機能しません

現在ホームページを作成しています。
そのページでJavaScriptを使用しているのですが、「閉じる」ボタンを設けてウィンドウズをクロウズしたいのですが、MacSafariでどうしてもうまく機能せずに困っています。(Safari v312.6)
MacIE:6.0では正常に動くので原因がわからない状況です。

<form method="GET"><input type="button" value=" 閉じる "
onclick="javascript:parent.close()"></form>
と書いています。

また“parent.window.close()”、“top.window.close()”などを試してみましたが同様の現象です。どうぞ詳しい方ご教授お願いしたします。

1   名前: 匿名 : 2007/06/27(水) 21:56  ID:MGCOTyOJ sub-Ds
http://oshiete1.goo.ne.jp/qa2964878.html

2   名前: 匿名 : 2007/06/27(水) 21:56  ID:LYfA41cU sub-Np
ありがとうございます。参考にさせて頂きます。

現象を追記させて頂くとこのページは左をメニュー、右をメインに切ってあります。
フレームを切らずにテキストなどで編集したリンクのないhtmlではSafariでもボタンが効く事が確認できました。フレームが関係してると考えています。

3   名前: 匿名 : 2007/06/27(水) 21:56  ID:MGCOTyOJ sub-Ds
http://www.openspc2.org/reibun/javascript/

ここに『フレームで区切られたサブウィンドウを閉じる』というJavaScriptがあります。
WinユーザーなのでSafariで出来るかどうかは確認出来ませんが、ご参考までに。

4   名前: 匿名 : 2007/06/27(水) 21:56  ID:ygwAIfTN sub-Cz
別窓はどのように開いたの?

5   名前: 匿名 : 2007/06/27(水) 21:56  ID:LYfA41cU sub-Np
レスポンスありがとうございます。
今回のボタンはブラウザそのものをCloseする処理なのですが、サブウィンドウを閉じる処理でも可能なのでしょうか?素人なので良くわかっていません。

また、教えていただいたリンク先は非常に使えそうです。ありがとうございます。

今回別窓は開いておらず、初期にフレームで右のメニューと左の遷移画面を配置しています。
ポップアップ画面のようなwindow.open()で開いたページやターゲット指定したページではうまくいくのですが、同じウィンドウで遷移しているページに関してはNGとなっている状況です。

どうぞ宜しくお願いします

6   名前: 匿名 : 2007/06/27(水) 21:56  ID:ygwAIfTN sub-Cz
> 今回のボタンはブラウザそのものをCloseする処理なのですが

そんなの、昨今のセキュリティ向上でできるわけがない。むしろ MacIE5(6 ではないよね)で可能という方が吃驚。

> ターゲット指定したページではうまくいく

Safari はスクリプトから開いた子ウィンドウのみ閉じることができるはずだけど。

7   名前: 匿名 : 2007/06/27(水) 21:56  ID:LYfA41cU sub-Np
>そんなの、昨今のセキュリティ向上でできるわけがない。むしろ MacIE5(6 ではないよね)で可能という方が吃驚。

ブラウザそのものをCloseするというのはブラウザの閉じるボタンを押した時と同様の処理です。
IE6.0です。私の書き方がちょっと違っていたような気がします。申し訳ありません

>Safari はスクリプトから開いた子ウィンドウのみ閉じることができるはずだけど。

そのようですが、色々と調べた結果とりあえず以下を参照にsafariはできました。(正しいのかわかりませんが・・・)
http://atbb.jp/kurimaru/viewtopic.php?p=25&sid=dd59d8e962ed1dee33ea7a831af56a03

とりあえずIEでは無理だったのですが、Safariのケースと条件分岐してなんとか可能になりました。
あとはNNが反応しないです。

8   名前: Chips : 2007/06/27(水) 21:56  ID:iXTrKUp6 sub-FV
>ブラウザそのものをCloseするというのはブラウザの閉じるボタンを押した時と同様の処理です。
それが出来ないようにする方向に向かっていますので
wiondow.openerを設定して可能になるのも、いつまで続くかわかりません。
(実際、IE6は可能でしたがIE7では不可能になりました)

スクリプトで開いたウィンドウ以外でCLOSEボタンを置くという事を考え直した方がいいように思います。
(スクリプトで開いたところで、それがホントに別のウィンドウになるか別タブになるかは個々のユーザーのブラウザの設定しだいですが。)

ちなみにWindows版Safari(V3.0.2)では(他のタブに別のページを開いていても)closeできちゃいました。
不安定なんでcloseが効いたんじゃなくて単に落ちてるだけかもしれませんが。

9   名前: 匿名 : 2007/06/27(水) 21:56  ID:LYfA41cU sub-Np
wiondow.openerはIE7.0では不可能なんですね。
Safariでも不可能になりそうですね。
ありがとうございました。参考になりました

一覧へ戻る