- - PR -
javascriptでの"window.close"処理の件について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-12-20 00:23
window.close() とセキュリティーの関係については、JavaScript の英語リファレンスなどを読むと載ってます。
概要だけ説明すると、"mail bombs" という攻撃を回避するためです。これは Netscape のブラウザが Navigator と呼ばれていた時代に生まれた攻撃で、ようするに self.close() というコードを含んだメールを Netscape Mail(Netscape 製のメーラー)が開いてしまうことにより、命令のとおりにウィンドウクローズ・・・メールが読めない・・・ということになるらしいです。今の HTML メールの先祖ってことになるんでしょうかね。 window.opener に値やオブジェクトを代入するのは、やめたほうがいいです。Anthyhime さんがご指摘のように、どう考えてもIEのチェック漏れでしょう。いずれ代入不能に修正される可能性もありますし、なにより作法としてよろしくないです。 利用者の意思を無視して window.close() するようなページは、個人的には嫌いです。フォームの一部としてポップアップするウィンドウを除けば、あえて window.close() する必要性はないんじゃないかと思います。 | ||||
|
投稿日時: 2005-12-20 09:43
メールの対策だとしたら何かあほな対策って感じ。
というか余計な対策のおかげで面倒なことさせられている。 メールで画像やJavaScriptが有効なほうが問題なのに。 | ||||
|
投稿日時: 2005-12-20 17:51
いつもお世話になります。いのきです。
みなさん、window.close()はあまり使用しないのでしょうか? フォームロードで1回画面をクローズしてから画面をオープンする方法を 結構使用している私のやり方はまずいかも・・・。 | ||||
|
投稿日時: 2005-12-20 18:19
あんまり起動画面を開くための処理でcloseはしませんね。 起動でopenする必要がある場合は、target指定なし(もしくは_self)で開いてもらう形にして、open後にhistory.back()で戻ることが多いです。 #イントラネットがあって、そのポータル画面にWebアプリのリンクを置いてもらうという前提です。 #ポップアップブロックに引っかかるので「フォームロードでopen」自体最近あんまりやってません。 #終了時にはユーザ操作でHomeに戻るなりブックマークで遷移するなりしてもらうことにしています。 | ||||
|
投稿日時: 2005-12-20 19:00
いつもお世話になります。いのきです。
昔、私にWebに関するプログラムを教えてくれた方が言ってました。 「画面オープン時、たま〜に画面にゴミ(?)がでてくる。 だから、変数を初期化するように画面も1回閉じてから再度 開くようにした方がいい。」 「ゴミ」が何なのか今でも謎ですが、はじめて開発に携わった 初々しきころ(照)だったので、その言葉を鵜呑みして、 かつ、それが「癖」になってしまって、現在までこの方法を使ってました。 ちなみにサイトを調べても上記のようなことは記載されていませんでした。 横道にそれるんですけど、上記のような現象って、ありえるんでしょうか? |