質問者
IE7でのWindow.openについて

質問
-
IE7のタブ機能についての質問です。
インターネットオプションのタブブラウズの設定で、「常に新しいタブでポップアップを開く」とした場合に、JavaScriptでwindow.open()でウィンドウを開くと、新しいタブに表示されます。
このとき、タブブラウズの設定を変更することなく、新しいウィンドウで開く方法はないでしょうか。openメソッドのリファレンスには、
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/open_0.asp
Internet Explorer 7 and later. resizable = { no | 0 } disables tabs in a new window.
とあるので、resizable=noを指定しましたが、タブは無効にならず新しいウィンドウで開くことができませんでした。
すべての返信
-
abab さんからの引用 インターネットオプションのタブブラウズの設定で、「常に新しいタブでポップアップを開く」とした場合に、JavaScriptでwindow.open()でウィンドウを開くと、新しいタブに表示されます。
このとき、タブブラウズの設定を変更することなく、新しいウィンドウで開く方法はないでしょうか。
そういう仕様だと思いますが。
いまどきは、 フィッシングサイト対策等の理由から、 ユーザの設定を無視して JavaScript で何でも出来るようにはしないでしょう。 (アンドキュメンテッドな部分も含めてどうだ、 と言われると、 わかりませんが…)
abab さんからの引用 resizable = { no | 0 } disables tabs in a new window.
「"resizable = { no | 0 }" (という指定) は、 新しいウィンドウ内で、 タブを無効にする」 …でしょう。「常に新しいタブでポップアップを開く」 としていない場合、 実際に、 開いたウィンドウにタブは出ず、 リサイズもできませんね。
# しかし、 これでまたひとつ、 困ったネタが増えた。
# 「運用で対処してください」 を、 いくつ言うことになるのだろう… -
biac さんからの引用
「常に新しいタブでポップアップを開く」 としていない場合、 実際に、 開いたウィンドウにタブは出ず、 リサイズもできませんね。
「常に新しいタブでポップアップを開く」としていても、開いたウィンドウにタブは出ず、 リサイズもできないのが理想です。
JavaScriptでは無理でも、他に方法があるのでしたらご教授いただけないでしょうか。biac さんからの引用
# しかし、 これでまたひとつ、 困ったネタが増えた。
# 「運用で対処してください」 を、 いくつ言うことになるのだろう…
例えば、Shiftキーを押下しながらリンクを実行すると、新しいウィンドウで開くことができます。
しかしこれをユーザにさせるわけにいきません。「運用で対処」できないのです。
よろしくお願いします。 -
なかば余談ですが…
ITpro のニュースより。 (10月 26日付)
米 SANS Institute では, ポップアップ・ウインドウを新しいタブで表示させるように設定すれば, 今回の偽装を防げるとしている。
セキュリティに敏感な個人や組織では、 この脆弱性に対処するため、 「常に新しいタブでポップアップを開く」 設定に変えるところが出てくるでしょう。 そこで、
- インターネット向け (不特定多数向け) に作る場合は、 「常に新しいタブでポップアップを開く」 になっていても、 操作は可能なように作る。 ( 「『常に新しいウィンドウでポップアップを開く」 にしてください』 といった注意書きを出したりして、 セキュリティを下げることを強要しない。 )
- イントラネット向けに作っている場合は、 少なくとも、 「こういうリスクがある仕様/運用になってますが、 よろしいでしょうか?」 と、 リスクを伝えて確認をとる。
といった対応をすることが、 技術者には期待されているのではないかと思いますが、 いかがでしょう。