Кажется, что FaceBook недавно изменил код - всякий раз, когда я нажал «Like», содержимое подскочило влево, таким образом испортив интерфейс. Никакие трюки CSS/JS не заставили его работать. Я пошел с более простым решением, используя iframe.
УВЕДОМЛЕНИЕ - Хотя некоторые устройства уже поддерживают iFrames, не все мобильные устройства. iFrames на самом деле старые и вообще не рекомендуются, но это помогло мне.
Позволяет использовать сценарий с похожим генерации по умолчанию из facebook и создать поле типа iFrame;
Click here to generate like button
Перейти к стилю "Box_Count", со счетчиком на вершине.
Когда вы нажимаете «Захватить код», перейдите к коду iFrame.Вы получите что-то подобное этому;
<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.example.com&send=false&layout=box_count&width=45056&show_faces=false&font&colorscheme=light&action=like&height=90&appId=1234567891011" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:45056px; height:90px;" allowTransparency="true"></iframe>
Теперь давайте обернуть DIV вокруг там.
<div class="like_wrap">
<iframe (...)></iframe>
</div>
Дайте ему следующий CSS:
.like_wrap {
width:55px;
height:25px;
overflow:hidden;
}
Теперь вы, вероятно, видеть левый верхний угол прилавка. Теперь нам нужно исправить iFrame. Дайте ему класс;
<iframe class="like_box" (...)> </iframe>
И сделать это так, чтобы это всегда английский, добавив «& локали = en_US» в URL. Это для предотвращения странных макетов в других странах - на голландском языке это будет «Vind ik leuk» и на английском языке «Like». Я думаю, каждый, на каждом языке, знает «как», поэтому давайте придерживаться этого.
Теперь мы добавим еще CSS для as_box;
.like_box {
margin-top:-40px;
}
Таким образом, весь код выглядит следующим образом (я удалил APP_ID как я не нужен)
HTML:
<div class="like_wrap">
<iframe class="like_box"
src="//www.facebook.com/plugins/like.php?href=CURRENT-URL-ENCODED&send=false&layout=box_count&width=45056&show_faces=false&font&colorscheme=light&action=like&height=90&locale=en_US"
scrolling="no"
frameborder="0"
style="border:none; overflow:hidden; width:45056px; height:90px;"
allowTransparency="true"></iframe>
</div>
CSS:
.like_wrap {
width:55px;
height:25px;
overflow:hidden;
}
.like_box {
margin-top:-40px;
}
И теперь у меня есть приличная маленькая коробка, которая отлично работает и не прыгает. Дайте мне знать, как это работает для вас, и если есть какие-то проблемы, с которыми вы сталкиваетесь.
Не можете использовать JQuery, чтобы найти элемент DOM, что как граф сидит и удалить его? – BeRecursive
Не используйте iframe вообще. Используйте статическое изображение с вашего собственного сервера. Имеет дополнительное преимущество для защиты конфиденциальности ваших пользователей. – CodesInChaos
У этой страницы есть решение, которое отлично сработало для меня (используя код FB, сгенерированный в августе 2012 года): http://learn-a-lot-everyday.blogspot.com/2012/05/facebook-like-button-without- count.html – bigmac