Я недавно перешел на открытый график и внедрил на свой веб-сайт некоторые социальные плагины Facebook, такие как fb: friendpile, fb: like-box и т. Д.
С тех пор, как я реализовал эти новые функции, я вижу случайное поведение с этими плагинами.
Как и на моей домашней странице, когда вы вводите URL-адрес и заходите в первый раз, ни один из социальных плагинов Facebook не отображается - нет кнопки входа, нет дружественной кучи - нет ничего.
Но когда вы нажмете CTRL F5 - они появятся. Сначала я подумал, что, возможно, это как-то связано с моей машиной, но вчера два моих пользователя сообщили об одной и той же проблеме.
Я погуглил, и, похоже, что-то связано с тем, где вы размещаете свой код подключения. Прямо сейчас у меня есть соответствующая часть скрипта, помещенная в мой тег head - я даже пытался поместить его прямо перед тегом body - но это не имело никакого значения.
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: '<?php echo Zend_Registry::getInstance()->configuration->facebook->appid;?>', status: true, cookie: true, xfbml: true});
/* All the events registered */
FB.Event.subscribe('auth.login', function(response) {
// do something with response
login();
});
FB.Event.subscribe('auth.logout', function(response) {
// do something with response
logout();
});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
function login(){
document.location.href = "<?php echo $this->baseUrl(); ?>/login/log";
}
function logout(){
FB.init({appId: '<?php echo Zend_Registry::getInstance()->configuration->facebook->appid;?>'});
FB.logout(function(response) {
// user is now logged out
});
document.location.href = "<?php echo $this->baseUrl(); ?>/login/logout";
return false;
}
</script>
Любые идеи в устранении неполадок, это будет оценено
Спасибо