#jquery #javascript
#jquery #javascript
Вопрос:
Я хочу использовать javascript, чтобы проверить, может ли мой пользовательский браузер подключаться к facebook. Если все в порядке, на веб-странице будет отображаться элемент facebook фан-страницы. Исходный код facebook для вставки элемента facebook fanpage является:
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<fb:like href="facebook.com/xxxxx" show_faces="true" width="380px" height="1px" font=""></fb:like>
И я использую этот код для проверки, может ли пользователь подключиться к facebook для отображения элемента fanpage:
$(function()
{
$.ajax({
url: 'http://graph.facebook.com',
dataType: 'jsonp',
success: function() {
$.getScript('http://connect.facebook.net/en_US/all.js#xfbml=1', function()
{
$('#divfb_embed').append('<fb:like href="facebook.com/phamimports" show_faces="true" width="380px" height="1px" font=""></fb:like>');
});
},
error : function(data)
{
alert("error");
}
});
});
Однако, когда код успешно запускается, элемент fanpage не отображается нормально. Я думаю, что в facebook javascript есть несколько специальных кодов для отображения в элементе fanpage.
Спасибо за любую помощь
Ответ №1:
Это мой взгляд на вещи… Я могу ошибаться. facebook sdk инициализируется при запуске события document ready и анализирует страницу в поисках <fb:blah>
тегов, чтобы отобразить их в виде html.
Поскольку вы вставляете файлы facebook javascript после запуска события document ready, инициализация facebook никогда не срабатывает, и ваша кнопка «Мне нравится» не появится.
Либо это, либо функция успеха, которая добавляет <fb:like>
тег, происходит после выполнения загруженного скрипта.
В любом случае я бы посоветовал вам просто обернуть <fb:like>
в <div>
скрытый элемент, а затем, как только вы узнаете, что пользователь может подключиться к facebook, вы сможете показать скрытый <div>
.
Комментарии:
1. о, большое спасибо за хитрое решение. Однако на данный момент это хорошее решение. 1 за разумное решение