Пользовательская кнопка facebook like с использованием javascript SDK

#jquery #facebook #facebook-graph-api #facebook-like #facebook-javascript-sdk

#jquery #Facebook #facebook-graph-api #facebook-лайк #facebook-javascript-sdk

Вопрос:

У меня есть пользовательское изображение, которое я хотел бы использовать вместо стандартного facebook like в стиле. У меня это работает, но он только «делится» страницей, а не «лайкает» ее.

Мне было интересно, есть ли способ использовать jQuery или javascript SDK, чтобы сделать эту кнопку «похожей» на страницу, поскольку я не согласен с использованием CSS для «маскировки» стандартной кнопки?

Создать пользовательскую кнопку непросто, как в twitters API…

Любая помощь по этому вопросу была бы высоко оценена!

Приветствия,

Дэйв

Ответ №1:

В общем случае значок facebook like содержится в :

 .connect_widget_like_button .liketext
  

Таким образом, вы могли бы переопределить css с помощью :

 .connect_widget_like_button .liketext {background-image : url('path_of_my_customized_image.jpg') !important;}
  

Использование !important заставит css изменить ее в соответствии с вашими настройками, даже если css для значка facebook like загружен после этого фрагмента кода 😉

Надеюсь, это поможет 😉

РЕДАКТИРОВАТЬ: Использовать это в jQuery тоже легко, просто напишите :

 $('.connect_widget_like_button .liketext').css('background-image', "url('path_of_my_customized_image.jpg') !important;");
  

Комментарии:

1. Должны ли мы вызывать этот jquery внутри функции, правильно загруженной iframe? Я пытаюсь что-то подобное, но кнопка like по-прежнему ничуть не меняется. Я вызываю jquery внутри функции, которую я вызываю в $ (‘iframe’).load(функция(){}); функция. Есть предложения относительно того, где я допускаю ошибку?

2. Я тоже пробовал это. Я также заметил, что теги span, div кнопки fb like имеют свои атрибуты стиля в теге. Я думаю, поскольку это переопределит любую другую указанную информацию о стиле, я полагаю, что это причина, по которой я ничего не вижу…

3. Вы использовали ключевое слово !important ?

4. Если она есть в атрибутах тега, вы можете попытаться перегрузить эти атрибуты с помощью .attr() . Пример изменения ширины : $('selector').attr('width', '100%')

Ответ №2:

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

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