Почему моя кнопка «Нравится» на Facebook не работает? - PullRequest
0 голосов
/ 05 сентября 2011

Я видел пару проблем, схожих с тем, что у меня есть, но ни одно из увиденных мной решений не сработало, включая инструмент lint для Facebook.Мой код, сгенерированный Facebook, по модулю escape () из window.location, в настоящее время закомментирован и содержит почти то же самое, что и JavaScript:

document.write('<iframe src="http://www.facebook.com/plugins/like.php?app_id=142676242492854&amp;href=' + escape(url) + '&amp;send=false&amp;layout=standard&amp;width=450&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font=verdana&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:167px; height:40px;" allowTransparency="true"></iframe>');

или другой, основанный на инструменте lint:

document.write('<iframe src="http://www.facebook.com/plugins/like.php?href=' + escape(url) + " scrolling="no" frameborder="0" style="height: 62px; width: 100%" allowTransparency="true"></iframe>');

Есть пара настроек, в которых я просто хочу пустую кнопку, никаких аннотаций о друзьях, которые нажали кнопку, но я пока еще не возился с этим;У меня есть другая проблема.

Если вы нажмете кнопку, она на мгновение изменится и скажет, что вам это нравится;но кнопка не превращается из светло-серого в синий для своего фона.Кроме того, он не прилипает к перезагрузке страницы.

Есть ли код, который я могу / должен заменить вышеупомянутым JavaScript, чтобы включить работающую кнопку Like?Сайт находится по адресу http://JonathansCorner.com, а строка кода (закомментирована) включает в себя JavaScript-код.

1 Ответ

4 голосов
/ 06 сентября 2011

document.write - зло, не используйте его.

Если это статическая страница (которой, по-видимому, является ваш сайт), просто добавьте iframe в тело HTML, где вы хотите.

Если вы действительно хотите добавить кнопку клиента в JS, используйте JS SDK (https://developers.facebook.com/docs/reference/javascript) и добавьте кнопку следующим образом:

var dynLike = document.createElement('fb:like');
dynLike.setAttribute('href', myEncodedURL);
dynLike.setAttribute('send', 'false');
dynLike.setAttribute('width', '450');
dynLike.setAttribute('show_faces', 'false');
document.body.appendChild(dynLike); // Or wherever you want it
FB.XFBML.parse();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...