2012-02-13 1 views
1

Я сделал много поисковых запросов и не нашел ответа на эту проблему.Facebook, загружающий актив через HTTP при просмотре в HTTPS

Я следил за документами facebook для реализации SDK для Facebook. Вот фрагмент кода на моей странице

<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> 

Это работает очень хорошо, за исключением одного файла: http://static.ak.facebook.com/connect/canvas_proxy.php

все. js загружает через HTTPS просто отлично. Но Facebook все еще загружает в canvas_proxy.php через регулярный HTTP:

http://static.ak.facebook.com/connect/canvas_proxy.php?version=3#behavior=p&method=setSize&params=%7B%22height%22%3A714%2C%22width%22%3A1100%2C%22frame%22%3A%22iframe_canvas%22%7D

Почему это? Кажется, я все делаю правильно. Пользователи HTTPS получают предупреждение о безопасности, которое появляется при посещении моей страницы из-за этого URL-адреса.

ответ

0

Попробуйте установить FB._https = true перед вызовом FB.init. Это позаботится о canvas_proxy.php.

Решение первоначально подробно в Facebook JavaScript SDK over HTTPS loading non-secure items

+0

Я попробовал, и он по-прежнему загружает через HTTP, к сожалению. Я попытался очистить свой кеш/файлы cookie, если это был кешированный запрос, - все еще загружает HTTP. Однако, спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^