Как вызвать кнопку Facebook как кнопку с помощью настраиваемой кнопки?

Я создал пользовательскую кнопку, напоминающую Facebook.

Пользовательская кнопка

Как это сделать, когда я нажимаю кнопку, она вызывает кнопку, представленную Facebook, как показано ниже?

Facebook как кнопка

Согласно политике facebook в социальных плагинах, пункт 4 гласит:

«Не скрывайте и не покрывайте элементы социальных плагинов».

Вы не можете изменить изображение напрямую, потому что оно предоставляется Facebook.

Кнопка Facebook находится в iFrame с источником, который находится в другом домене домена Facebook, поэтому вы не можете изменять кнопку, так как она защищена политикой того же происхождения.

Кроме того, политика Facebook запрещает изменять их кнопки и логотипы при использовании встроенного контента из Facebook, например, социальных кнопок.

Таким образом, вы не можете быть в состоянии изменить кнопки FB, и даже если бы вы могли это сделать против Условий использования Facebook.

Но … если вы все еще хотите это сделать, вы можете использовать собственную кнопку Facebook и разместить свое собственное изображение сверху или снизу кнопки Facebook, чтобы подделать пользовательскую кнопку.

Укладка изображения сверху возможно только в том случае, если вы используете указатели-указатели CSS3, которые сделают ваш клик по клику, и событие click будет работать «через» ваше изображение и на самом деле нажмите кнопку «Facebook». Это работает только в новых браузерах, поддерживающих события указателей.

Другой вариант – заложить изображение за кнопкой FB и установить непрозрачность кнопки FB на ноль.

Я использовал это несколько раз сам, и с небольшим копанием в коде Facebook вы можете прикрепить события наведения и все остальное, чтобы сделать его похожим на пользовательскую кнопку. Вам нужно будет найти элементы для установки opacity : 0 .

Никогда не проводил время, пытаясь понять, как сделать непохожий на функцию функцию оригинальной кнопки на пользовательскую кнопку, но это, вероятно, возможно.

Все мои попытки инициировать кнопку FB с помощью javascript или jQuery trigger () не удались, но, возможно, кто-то еще выяснил, как это сделать?

Когда вы создаете элемент html с fb-подобным classом, фреймворк javascript SDK конвертирует его с помощью подобной кнопки при загрузке документа. Вы можете создать пользовательский элемент и вызвать событие щелчка подобной кнопки, когда пользователь нажимает вашу пользовательскую кнопку.

Например :

   

Код jQuery:

 $("#mycustombutton").click(function(){ $(".fb-like").find("a.connect_widget_like_button").click(); // You can look elements in facebook like button with firebug or developer tools. }); 

Обновить

Facebook SDK создает как кнопку в iframe и браузерах, не позволяя вмешаться в iframe на странице. Я думаю, что добавление события-события в элемент iframe больше невозможно.

Я думаю, что facebook проходит очень много, чтобы люди не могли вызвать кнопку «Мне нравится». Это означает, что скрипты автоматически не нажимают кнопку «Мне нравится», когда кто-то посещает сайт.

Вы можете переопределить стиль его с помощью CSS и вместо этого показать свое изображение.

Это не допускается по той очевидной причине, что это может привести к мошенничеству. Представьте, если каждый раз, когда вы нажимаете на изображение в Интернете, вы не знаете, является ли это фактическим изображением, или если это приведет к похожую и появится в фиде FB. Это было бы катастрофой.

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

Если, с другой стороны, вы просто хотите получить счет за страницу и отобразить ее, как хотите, вы можете сделать это через запрос на "http://graph.facebook.com/#{url}" который вернется полезная нагрузка JSON с количеством понравившихся. В jQuery это будет:

$.getJSON("http://graph.facebook.com/#{url}", function(data) { alert(data.shares); });

Вы можете наложить свою кнопку поверх кнопки Facebook как кнопка и использовать css, чтобы скрыть кнопку Facebook. Однако не уверен в законности этого.

Вы можете попытаться вызвать запрос Ajax, подобный этому

 FB.api( 'me/og.likes', 'post', { object: "http://samples.ogp.me/226075010839791" }, function(response) { // handle the response } ); 

https://developers.facebook.com/docs/reference/opengraph/action-type/og.likes

http://sharingbuttons.io/ позволяет использовать кнопки совместного доступа к социальным сетям без javascript (не похоже на кнопку, как в вопросе …). Для Facebook он просто использует ссылку:

  Share on Facebook 
Here on Stackoverflow, you have to cmd + click to open the link in a new window.
Давайте будем гением компьютера.