Facebook как ошибка кнопки - заблокированный кадр
Я использую jQuery для создания динамических кнопок "Like". Однако я получаю ошибку, которая повторяется снова и снова.
Мой jQuery для создания кнопки:
$('#fbLike').html('<fb:like href="'+url+'" send="false" layout="button_count" width="80" show_faces="true" />');
FB.XFBML.parse(document.getElementById('fbLike'));
Однако я получаю следующую ошибку:
Blocked a frame with origin "https://www.facebook.com" from accessing
a frame with origin "http://localhost:8888". The frame requesting
access has a protocol of "https", the frame being accessed has a
protocol of "http". Protocols must match.
Любые идеи?
-
Изменить
(функция (d, s, id) {
var js, fjs = d.getElementsByTagName(s) [0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src= "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
} (документ, script ',' facebook-jssdk '));
Ответы
Ответ 1
Это происходит потому, что протоколы не совпадают.
Вы пытаетесь создать https-фрейм на странице http.
Из-за того, что в вашем браузере отключен смешанный контент, вы видите эту ошибку.
Вы можете включить смешанный контент в google chrome с помощью командной строки arg.
chrome.exe --allow-running-insecure-content
Ответ 2
Привет, Ян, вы пробовали нажать https://localhost/appname
и снова запустить вызов? Если вы используете что-то вроде XAMPP, LAMP, MAMP, ваш сайт по умолчанию должен быть привязан к порту 443 (https), надеясь, что ваши протоколы запросов будут соответствовать. Если у вас все еще есть одна и та же проблема, вы можете захотеть попробовать это с реального веб-сервера (с WWW) и посмотреть, сохраняется ли проблема. Также нет никаких настроек на стороне Facebook, которые вам нужно включить, чтобы разрешить использование localhost для их API (качание в темноте здесь)?