Из вашего описания я предполагаю, что вы тестируете в Chrome / Safari на локальном сервере?
Chrome / Safari
Попробуйте установить URL-адрес кнопки «Мне нравится» на существующий веб-адрес:
<fb:like href="http://google.com" ...
Важным примечанием является то, что оповещение зависит от успеха лайка, который зависит от того, какой URL-адрес доступен для Facebook.Вам не удастся понравиться URL-адрес, существующий только на вашем локальном сервере (например, http://localhost:3000/my-page.html). Очевидно, что Google нравится - это тестовое исправление; вместо этого вы можете отправить свой код на промежуточный сервер для того же эффекта, ноэто займет больше времени и усилий.
Когда я внесу это изменение, кнопка «Мне нравится» и оповещение будут работать в Chrome 12 для Mac, но я по-прежнему вижу ту же ошибку, что и вы. Я думаю, что Chrome чувствителен только к iframes;сомневаюсь, что ошибки можно избежать.
Firefox
Если я внесу указанное выше изменение, оно все равно не будет работать в Firefox 5 для Mac. Я получаю ошибку e.root is undefined
от всех пользователей Facebook.js и кнопка «Мне нравится» даже не отображаются.
Если переместить сценарии all.js
и FB.Event.subscribe()
ниже элемента fb-root
, появится кнопка «Мне нравится», и предупреждение сработает без ошибок.
Internet Explorer
Согласно документации Facebook вам необходимо добавить пространство имен XML Facebook в ваш тег <html>
, чтобы кнопка отображалась в Internet Explorer:
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">