Подтвердить что ты не робот

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 '));
4b9b3361

Ответ 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 (качание в темноте здесь)?