Никогда не имея дело с Facebook на уровне разработчика, я уверен, что я делаю что-то совершенно очевидно здесь неправильно. В любом случае, вот проблема:
Я генерирую код кнопки «Мне нравится» из https://developers.facebook.com/docs/reference/plugins/like/, а затем копирую его на мою страницу. При попытке просмотра сайта ничего не отображается.
Я заметил, что URL-адрес в разделе сценариев не включает протокол (он поставляется с: "//connect.facebook.net/en_US/all.js#appId=207642302633270&xfbml=1"). Когда я смотрю, что происходит с помощью Firebug, я вижу, что он вставляет тег script
в раздел head - но URL не работает. Я попытался изменить его так, чтобы он включал «https:» в качестве протокола, и затем я вижу, что скрипт загружается и что он также вставляет кучу CSS в раздел head.
Но на сайте все еще ничего не отображается.
Единственное, что я могу думать о том, что может быть проблематичным, это то, что у меня (или, точнее, у моего клиента) нет профиля компании Facebook какого-либо рода - я могу попросить их установить один, если требуется, но это не будет предпочтительным вариантом, так как они не хотят поддерживать профиль Facebook для бизнеса.
Вот урезанный образец, с которым я работаю:
<html>
<head>
<title>Testing the Like Button</title>
<meta property="og:title" content="Company FB Test" />
<meta property="og:type" content="company" />
<meta property="og:url" content="http://www.domain.com/fb-test.html" />
<meta property="og:image" content="http://www.domain.com/logo.png" />
<meta property="og:site_name" content="Site Name" />
<meta property="fb:admins" content="__MY_FB_ID__" />
</head>
<body>
<script>(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "https://connect.facebook.net/en_US/all.js#appId=207642302633270&xfbml=1";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));</script>
<div class="fb-like" data-send="false" data-layout="box_count" data-width="67" data-show-faces="false" data-font="arial"></div>
</body>
</html>
Пара заметок:
- Пример включает протокол «https:» - как уже упоминалось, я тоже пробовал без него.
- Это было протестировано в последних версиях Chrome 13, Firefox 6 и IE 9
- Я проверял это в Facebook Lint, и это не дает мне ошибок.
Заранее благодарен тому, кому удастся указать на очевидное для меня, - и всем, кто дает дружеский совет.
Ура,
Zac