2

SSL/HTTPS 経由で提供されているページに Facebook コメント ウィジェットを追加しようとしています。ウィジェットは正常に動作しますが、IE7 または IE8 でページを読み込もうとすると、「混合コンテンツ」のセキュリティ警告が表示されます。

ページ内で安全でないリソースを参照していないことを確認しました。Facebook コメント ウィジェットを削除すると、警告が消えます。フィドラーを使用して、参照されているリソースを特定しようとしましたが、見る限り、http を介して何もプルされていません。ページにコメント ウィジェットがあるだけの最小限の再現ケースで問題を確認しました。

<!DOCTYPE html>
<html lang="en-us" xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
  <head>
    <title>
      Test FB Comments
    </title>
  </head>
  <body>
    <div class="fb-comments" data-href="https://www.example.com/fb_minimal.html" data-num-posts="10" data-width="470" data-colorscheme="light"></div>
    <div id="fb-root"></div>
    <script type="text/javascript">
      window.fbAsyncInit = function () {
        FB.init({ appId: 'MY_FACEBOOK_APP_ID', status: true, cookie: true,
          xfbml: true
        });
      };
      (function () {
        var e = document.createElement('script'); e.async = true;
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        document.getElementById('fb-root').appendChild(e);
      } ());
    </script>
  </body>
</html>

これは、他のブラウザー (Chrome、Firefox、IE9 以降) では警告なしに読み込まれます。

Facebook アプリケーションの設定を確認したところ、すべてが正しく構成されているように見えますが、Facebook との統合は初めてなので、何か見落としている可能性があります。

このスレッド、Facebook JavaScript SDK over HTTPS loading non-secure itemsを見てきましたが、そこにある提案はどれも効果がありませんでした。他のブラウザでも警告が表示されないため、この問題は別のものであると思われます。

どんな洞察も大歓迎です。

4

1 に答える 1

1

Fiddler を使用してリクエストをチェックしても、すべてが正しく行われているようです。何が起こっているのかまだ見えないときは、間違いなく非常にイライラします。

明確な答えはありませんが、1 つの可能性を提案できます。

IE8 以下では、iframe に空白のページがあると、このようなエラーがスローされることが知られています。たとえば、フレームは JavaScript を使用して作成されていますが、コンテンツが読み込まれていないかabout:blank、URL として入力されています。

コンテンツにエラー (404 エラーなど) がある場合にも発生する可能性があると思いますが、それについては確信が持てません。これは間違いなく、空のコンテンツに関する既知のバグです。

IE がページのセキュリティを検証しているときに、ページ内の相対 URL と URL を誤って組み合わせて、 のabout:blankような URL を生成しabout:/myimage.jpg、それを HTTPS セキュア ゾーンの外側にあると見なし、混合コンテンツを取得します。警告。

このバグに関する別の議論は、ここで見ることができます:背景画像による IE での「混合コンテンツ」警告を回避するための正確なルールは何ですか?

そこで説明されている解決策は、完全なドメインとプロトコルを含めて、すべての URL を絶対 URL にすることです。

それが役立つことを願っています。

于 2012-10-31T22:29:41.650 に答える