none
showModalDialog上のIFrame内に別ドメインのサイトを表示している場合、Delキー等が効かなくなる RRS feed

  • 質問

  • 基幹システムのサブシステム(基幹とは別ドメイン)をshowModalDialogにて表示したDialogにIFrameを置き、その中で表示しているのですが、

    IE7までは、問題なく利用出来たのですが、IE8以降にて、DELETEキーやCtrl+C、Ctrl+V等の機能が反応しなくなりました。

    IFrameの中身を呼び出し元と同じドメインにすれば、この現象は起きないので、

    外部ドメインを表示させた場合のセキュリティの仕様が変更されたのでは、と推測しています。

    基幹システム側は、運用を別の仕組み(Window.Open)等に変更する事は難しい状況です。

    同様の事象にて、対策/対応された方、ご助言をお願い致します。

    2012年9月29日 6:29

回答

  • 再現しました。ただし、IE8のみでした。

    IE8 & Win7 →再現する
    IE8 & XP SP3  →再現する
    IE9 & Win7 SP1 →再現しない

     
    あまりおすすめとは思っていませんが、回避案の一つとして、iframe内のコンテンツに次の記載をすると、
    全て回避出来ることが分かりました。

    ・DELキーは、document.domainの設定で回避可能でした。ホスト部だけが違うならになりますが。
    ・CTRL+CやCTRL+Vは、execCommandでクリップボードへアクセスすることで実現できます。インターネットゾーンではセキュリティ警告が出ますが、Yesを応えると以降通常動作します。イントラネットゾーンでは、おそらく問題なく動作すると思います。
     

    もし、有効な代わりの案を模索、質問される場合、プロトコル(http/https)や、再現確認したOSのバージョン、別ドメインというのが全く別のドメインなのかそうでないか、方式は変えないとしても基幹システム側(iframeの親)は変更可能かなどもあるとより良い対策などが出やすくなるかもです。
    手元の環境の単にshowModelessDialogに変更した場合、同じように再現することを確認しました。
    IE9でも再現するというのであれば、私の環境と差分を確認することで回避案が出てくるかもしれません。




    • 回答の候補に設定 星 睦美 2012年10月25日 1:03
    • 回答としてマーク 星 睦美 2012年10月31日 2:51
    • 編集済み (´・ω・`) 2012年11月8日 14:44 コード部の削除
    2012年10月1日 12:52

すべての返信

  • 実際のシステムだけでなく、単純なサンプルでも再現するのであれば、障害か仕様かは別にして、IEがそういう動作をしているのでしょう。

    そうなるとウィンドウズスクリプトプログラマさんが書かれているような方法で回避できないか、検討するのが良いかと思います。

    もしビジネス上でクリティカルな問題であるようなら、正式なサポート窓口の利用も検討されると良いでしょう。


    hebikuzure

    2012年10月1日 9:30
    モデレータ
  • 再現しました。ただし、IE8のみでした。

    IE8 & Win7 →再現する
    IE8 & XP SP3  →再現する
    IE9 & Win7 SP1 →再現しない

     
    あまりおすすめとは思っていませんが、回避案の一つとして、iframe内のコンテンツに次の記載をすると、
    全て回避出来ることが分かりました。

    ・DELキーは、document.domainの設定で回避可能でした。ホスト部だけが違うならになりますが。
    ・CTRL+CやCTRL+Vは、execCommandでクリップボードへアクセスすることで実現できます。インターネットゾーンではセキュリティ警告が出ますが、Yesを応えると以降通常動作します。イントラネットゾーンでは、おそらく問題なく動作すると思います。
     

    もし、有効な代わりの案を模索、質問される場合、プロトコル(http/https)や、再現確認したOSのバージョン、別ドメインというのが全く別のドメインなのかそうでないか、方式は変えないとしても基幹システム側(iframeの親)は変更可能かなどもあるとより良い対策などが出やすくなるかもです。
    手元の環境の単にshowModelessDialogに変更した場合、同じように再現することを確認しました。
    IE9でも再現するというのであれば、私の環境と差分を確認することで回避案が出てくるかもしれません。




    • 回答の候補に設定 星 睦美 2012年10月25日 1:03
    • 回答としてマーク 星 睦美 2012年10月31日 2:51
    • 編集済み (´・ω・`) 2012年11月8日 14:44 コード部の削除
    2012年10月1日 12:52
  • ebi1977 さん、こんにちは
    フォーラム オペレーターの星 睦美です。

    今回は(´・ω・`)さんの返信がアドバイスとして役立ちそうだと思いましたので
    私のほうで[回答としてマーク] をさせていただきました。

    今後とも参考になる回答があった際には、投稿者からの[回答としてマーク]をお願いします。
    それではTechNet フォーラムをこれからもよろしくお願いします。


    日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美

    2012年10月31日 2:58
  • 返信大変遅くなり、申し訳ございません。

    同様の事例が発生した場合の回避策を模索しておりましたが、一番影響の少ない手段として、

    外部ドメインでOpenしたshowModalDialog上のIFrame内のページで、さらにshowModalDialogを開く事で、同一ドメイン内にて動作可能となり、

    問題を回避できそうですので、この方法でシステム改修の検討段階に入っております。

    ご回答者の皆様、ありがとうございました。

    2012年11月23日 4:22