none
IE7でのWindow.openについて RRS feed

  • 質問

  •  

    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を指定しましたが、タブは無効にならず新しいウィンドウで開くことができませんでした。


    2006年10月10日 2:09

すべての返信

  •  abab さんからの引用
     インターネットオプションのタブブラウズの設定で、「常に新しいタブでポップアップを開く」とした場合に、JavaScriptでwindow.open()でウィンドウを開くと、新しいタブに表示されます。
    このとき、タブブラウズの設定を変更することなく、新しいウィンドウで開く方法はないでしょうか。

    そういう仕様だと思いますが。
    いまどきは、 フィッシングサイト対策等の理由から、 ユーザの設定を無視して JavaScript で何でも出来るようにはしないでしょう。 (アンドキュメンテッドな部分も含めてどうだ、 と言われると、 わかりませんが… )

     abab さんからの引用
    resizable = { no | 0 } disables tabs in a new window.

    「"resizable = { no | 0 }" (という指定) は、 新しいウィンドウ内で、 タブを無効にする」 …でしょう。

    「常に新しいタブでポップアップを開く」 としていない場合、 実際に、 開いたウィンドウにタブは出ず、 リサイズもできませんね。

    # しかし、 これでまたひとつ、 困ったネタが増えた。
    # 「運用で対処してください」 を、 いくつ言うことになるのだろう…

    2006年10月10日 9:38
  •  biac さんからの引用

    「常に新しいタブでポップアップを開く」 としていない場合、 実際に、 開いたウィンドウにタブは出ず、 リサイズもできませんね。

    「常に新しいタブでポップアップを開く」としていても、開いたウィンドウにタブは出ず、 リサイズもできないのが理想です。
    JavaScriptでは無理でも、他に方法があるのでしたらご教授いただけないでしょうか。

     biac さんからの引用

    # しかし、 これでまたひとつ、 困ったネタが増えた。
    # 「運用で対処してください」 を、 いくつ言うことになるのだろう…

    例えば、Shiftキーを押下しながらリンクを実行すると、
    新しいウィンドウで開くことができます。
    しかしこれをユーザにさせるわけにいきません。「運用で対処」できないのです。
    よろしくお願いします。

    2006年10月10日 10:05
  • ???

    >インターネットオプションのタブブラウズの設定で、「常に新しいタブでポップアップを開く」とした場合に

    ユーザがそのように設定しているわけですよね?

    運用回避する必要があるのでしょうか?

    もしも運用回避で、上記の設定を許さないようにするというのであれば、アクティブディレクトリのポリシー配布などで可能ですよ。(^^

     

    2006年10月10日 12:59
  •  中博俊 さんからの引用

    ユーザがそのように設定しているわけですよね?
    運用回避する必要があるのでしょうか?
    もしも運用回避で、上記の設定を許さないようにするというのであれば、アクティブディレクトリのポリシー配布などで可能ですよ。(^^

    「常に新しいタブでポップアップを開く」と設定されているかどうかのチェックも可能でしょうか?
    JavaScriptでチェックできなければActiveXなどでも構わないです。

    2006年10月12日 7:53
  • IE7環境で

    グループポリシーエディタを開き

    管理用テンプレート→Windows Components→Internet Explorer→
    Turn off configuration of tabbed browsing pop-up behaviorを1(Force New Window)

    にすることでお望みのポリシーを配布できそうです。

     

    2006年10月12日 11:37
  • なかば余談ですが…

    ITpro のニュースより。 (10月 26日付)

    IE 7 にアドレス・バーを偽装されるセキュリティ・ホール

    米 SANS Institute では, ポップアップ・ウインドウを新しいタブで表示させるように設定すれば, 今回の偽装を防げるとしている。

    セキュリティに敏感な個人や組織では、 この脆弱性に対処するため、  「常に新しいタブでポップアップを開く」 設定に変えるところが出てくるでしょう。 そこで、

    • インターネット向け (不特定多数向け) に作る場合は、 「常に新しいタブでポップアップを開く」  になっていても、 操作は可能なように作る。 ( 「『常に新しいウィンドウでポップアップを開く」 にしてください』 といった注意書きを出したりして、 セキュリティを下げることを強要しない。 )
    • イントラネット向けに作っている場合は、 少なくとも、 「こういうリスクがある仕様/運用になってますが、 よろしいでしょうか?」 と、 リスクを伝えて確認をとる。

    といった対応をすることが、 技術者には期待されているのではないかと思いますが、 いかがでしょう。

    2006年10月27日 0:07