При попытке использовать плагин страницы из Facebook для создания небольшого портлета для отображения обновлений со страницы компании, я столкнулся с различными ошибками. Самый большой из них - плагин, который просто не отображается.Использование Facebook Page Plugin
Вот страница: http://bit.ly/1OR4bYw
Вот мой код (напрямую скопировать из Facebook, в стороне от HTML-тегов):
<html>
<body>
<div id="fb-root"></div>
<script>(function(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/sdk.js#xfbml=1&version=v2.5";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-page" data-href="https://www.facebook.com/facebook"
data-small-header="false" data-adapt-container-width="true"
data-hide-cover="false" data-show-facepile="true"
data-show-posts="true"><div class="fb-xfbml-parse-ignore">
<blockquote cite="https://www.facebook.com/facebook">
<a href="https://www.facebook.com/facebook">Facebook</a>
</blockquote></div></div>
</body>
</html>
Ошибка выброшен в консоли: GET файл : //connect.facebook.net/en_US/sdk.js net :: ERR_FILE_NOT_FOUND
Решение: добавьте 'https: //' infront пути к sdk. В результате в следующей строке изменен:
js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
Однако это приводит к ошибке не брошенной больше, но дисплей плагин (фактический виджет) является еще не отображается. Вернее, НИЧЕГО не отображается.
Я пробовал:
- Удаление '# XFBML = 1 & версия = v2.5' в конце пути
- Изменение расположения DIV с идентификатором «FB-корень "
- Изменение местоположения скрипта (до и после различных элементов)
- Использование нескольких браузеров
- Используя все возможные решения от this вопроса
Мне трудно поверить, что образец кода с сайта разработчиков Facebook не будет работать, и мне бы хотелось, чтобы какое-то объяснение того, что я делаю неправильно.
Прежде всего, вам нужно использовать код на веб-сайте, который рассматривается через HTTP (S), в противном случае ссылка на SDK в виде '// connect.facebook.net /' выиграл» т работы. Вы просматриваете свою страницу только локально в браузере, открывая через файловую систему? В этом случае SDK может не работать (даже если вы исправляете проблему с адресом) - попробуйте, когда страница будет загружена на (локальный) веб-сервер и доступна через HTTP (S). – CBroe
@CBroe Спасибо за вход, я попытался загрузить файл на веб-сервер и посмотреть его таким образом, и это было удивительно. Однако вы можете объяснить мне, почему это происходит, и почему невозможно открыть SDK при открытии файла из локальной файловой системы (даже с помощью «https:» перед ссылкой). Еще раз спасибо. – Bimde
SDK может быть «доступен», но он, вероятно, не может проверить другой материал должным образом - например, какой пользователь в настоящий момент зарегистрирован в Facebook в браузере. (И если ваша страница FB, которую вы хотите отобразить для плагина, еще не опубликована или ограничена доступом каким-либо другим способом, какой пользователь зарегистрирован в вопросах.) – CBroe