Facebook在HTTPS中浏览时通过HTTP加载资产

Facebook在HTTPS中浏览时通过HTTP加载资产,https,facebook-javascript-sdk,facebook-canvas,Https,Facebook Javascript Sdk,Facebook Canvas,我用谷歌搜索了很多次,但都没有找到这个问题的答案 我遵循了facebook文档来实现facebook JS SDK。这是我页面上的代码片段 <script> window.fbAsyncInit = function() { FB.init({ appId : 'xxxxxxxxxxxxx', status : true, // check login status cookie : t

我用谷歌搜索了很多次,但都没有找到这个问题的答案

我遵循了facebook文档来实现facebook JS SDK。这是我页面上的代码片段

<script>
    window.fbAsyncInit = function() {
        FB.init({
            appId  : 'xxxxxxxxxxxxx',
            status : true, // check login status
            cookie : true, // enable cookies to allow the server to access the //session
            xfbml  : true, // parse XFBML
            oauth :true // Enable oauth 2.0
        });
        FB.Canvas.setAutoResize(); //set size according to iframe content size
    };

    // Load the SDK Asynchronously
    (function(d){
         var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
         js = d.createElement('script'); js.id = id; js.async = true;
         js.src = "//connect.facebook.net/en_US/all.js";
         d.getElementsByTagName('head')[0].appendChild(js);
     }(document));

</script>

window.fbAsyninit=函数(){
FB.init({
appId:'xxxxxxxxxxxx',
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问//会话
xfbml:true,//解析xfbml
oauth:true//启用oauth 2.0
});
FB.Canvas.setAutoResize();//根据iframe内容大小设置大小
};
//异步加载SDK
(职能(d){
var js,id='facebook jssdk';if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all.js”;
d、 getElementsByTagName('head')[0].appendChild(js);
}(文件);
除了一个文件:http://static.ak.facebook.com/connect/canvas_proxy.php

all.js可以通过HTTPS加载。但Facebook仍然通过常规HTTP在canvas_proxy.php中加载:


为什么会这样?我似乎每件事都做对了。HTTPS用户在访问我的页面时会因为该URL而引发安全警告。

请在FB.init调用之前尝试设置FB.\u HTTPS=true。这将处理canvas_proxy.php


最初在

中详细介绍的解决方案我尝试过,但不幸的是它仍然通过HTTP加载。我试图清除缓存/cookies,以防这是一个缓存请求——仍然加载HTTP。不过谢谢你。