На самом деле, вы можете использовать параметр widget
, чтобы сказать, какая кнопка «Нравится» была нажата.Что я не знал, так как это не задокументировано , насколько я могу судить (за исключением этого сообщения в блоге ).
В вашем обратном вызове вместо alert(widget)
попробуйте console.log(widget)
.Это покажет вам (в консоли JavaScript, как Firebug ) всю информацию об объекте (что гораздо полезнее, чем просто [object]
).
Возможно, естьпару способов сделать это, но один из способов, который я только что попробовал, - добавить идентификатор к кнопке «Мне нравится», например:
<fb:like id="myButtonOne" href="http://testurl.com"></fb:like>
Затем в обратном вызове посмотрите на свойство widget.dom.id
, чтобы увидетьесли у него есть мой ID:
FB.Event.subscribe('edge.create', function(href, widget) {
//console.log(widget); // looks inside the widget object, for testing
alert(widget.dom.id);
});
Вы должны получить всплывающее оповещение с надписью "myButtonOne".Если вы дадите каждой кнопке уникальный идентификатор, теперь вы можете указать в обратном вызове edge.create
, какая кнопка была нажата (даже если они имеют одинаковый URL / href)!