none
HTMLのobjectタグで外部サイトを指定した場合にWin10のIE11で正常に動作しない RRS feed

  • 質問

  • ■前提・実現したいこと

    ブラウザの画面上に、ログアウトボタンを設置して、自身のシステムと他のシステムを
    ログアウトさせたい。
    他のシステムは、ログアウト用のURLがある為、他システムのログアウトは、URLを呼出す
    だけで良いように作られている。

    ■発生している問題・エラーメッセージ

    Windows7のIE11や、Chromeでは正常に動作するが、Windows10のIE11で動作しない。

    ■該当のソースコード

    言語:HTML

    < object data="https://dev.example.co.jp/logout" type="text/html" id="sso_logout_object" style="height:0px;width:0px;"></object>

    dev2.example2.co.jpのシステムから呼出している。
    同じドメインの他ホスト(dev2.example.co.jp)からは、正常に動作しました。

    クロスドメインの問題でしょうか?

    ■したこと

    Windows7のIE11 ⇒ 別ドメインでも正常動作
    Chrome ⇒ 別ドメインでも正常動作
    Windows10のIE11 ⇒ 同一ドメインは正常に動作しましたが、別ドメインがNG



    • 編集済み しばお 2018年9月17日 0:00
    2018年9月16日 9:13

すべての返信

  • 質問への本筋でなくて恐縮ですが、html の呼び出しでなぜ object を使われているのでしょう?

    iframe ではダメなのでしょうか?


    hebikuzure

    2018年9月16日 9:48
    モデレータ
  • 社内のルールでiframeが禁止になっていますので仕方なくobject タグを使用しています。

    iframeでしたら今回の問題は発生しないでしょうか?

    できそうでしたら、検証してみます。

    今日は休日ですぐに検証環境を作るのが難しいので、できそうかどうかを教えていただけると助かります。

    発生しないのでしたら、交渉は可能と思います。
    • 編集済み しばお 2018年9月16日 10:29
    2018年9月16日 10:17
  • 基本的にこの手の問題は質問者自身が検証するしかありません。
    他者が似たような環境で検証して動いたとして、質問者の環境・条件下で動くとは限らないためです。
    (ゆえに、回答者側に検証をお願いするかのような流れは、何かおかしいと思っています…)

    なお、test.co.jp は実在のドメインです。
    相手方の迷惑になるので、仮のドメインを表記するなら example.co.jp のように例示用に予約されている、実在しないドメインを使用しましょう。

    2018年9月16日 12:17
  • ご指摘ありがとうございました。
    ドメイン名は、配慮が足りませんでした。
    以後気を付けます。
    iframeについては、検証させていただきます。


    • 編集済み しばお 2018年9月16日 12:44
    2018年9月16日 12:43
  • クライアントスクリプトで、例えば getElementById とかで「自身のシステム」と「他のシステム」のログアウトボタンのオブジェクトを取得して、click() を呼び出しているのですか?

    そうだとすると、

    > iframeについては、検証させていただきます。

    iframe に表示するページは親ページと同じドメインのものでないと、親ページのスクリプトでは iframe の中のオブジェクトは取得できないはずです。(クロスサイトスクリプト対策だそうです)

    それが何故 object 要素を使うと Windows 10 の IE11 以外では期待した動作をするのか分かりませんが(そもそも質問者さんが書いているコードがわからないので自分の見当違いかもしれませんが)・・・


    > クロスドメインの問題でしょうか?

    単なる想像ですが Win7 IE11 ⇒ Win10 IE11 のセキュリティ強化よるものでは?

    F12 開発者ツールを起動してドキュメントモードを IE10 以下に変更して試したらどうなりますか?

    それで効果があれば、そのページだけ meta タグ (X-UA-Compatible) を追加してドキュメントモードを指定するという手が使えるかもしれません。


    • 編集済み SurferOnWww 2018年9月17日 2:40 訂正
    2018年9月17日 2:39
  • 質問者さんが

    ログアウト用のURLがある為、他システムのログアウトは、URLを呼出すだけで良いように作られている。

    と書かれているので、ログオン状態のセッションを持ったまま特定の URL を呼び出すだけでログアウトできる(サーバー側でセッションを廃棄する)動作と思われ、であれば iframe で問題ないのでは、と思ったわけです。

    本来だとサンプルサイトでも作って環境依存性があるのか確認した方が良さそうな話ですが、object タグで html を呼び出すという一般的でないことをやってるのでまずその点から確認かなあと思います。


    hebikuzure

    2018年9月17日 5:23
    モデレータ