Кнопка Facebook Like показывает ссылку «Подтвердить», но по-прежнему не может поставить лайк после подтверждения

#javascript #facebook #facebook-like

#javascript #Facebook #facebook-нравится

Вопрос:

Примерно в 90% случаев, когда я нажимаю на кнопку «Мне нравится» на своем веб-сайте, отображается ссылка подтверждения. Когда я нажимаю подтвердить, появляется всплывающее окно, и я нажимаю «Нравится». Однако ссылка подтверждения все еще существует, и мой лайк не был засчитан. Я нажал подтвердить несколько раз, но это все еще не работает. Я обновлял страницу много раз, и примерно в 10% случаев ссылка подтверждения никогда не появляется, и я могу поставить лайк обычно.

Я слышал о Facebook Linter (он же debugger). Я «переписал» свою страницу, и она мне все еще не может понравиться.

Вот пример страницы:http://linksku.com/news/funny/i-like-steve-jobs-less-and-less-the-more-i-read-about-him / (нижняя часть загружается в iframe).

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

1. У меня работает каждый раз. Какой браузер вы используете?

2. Странно, это работает в Firefox. Я использовал Chrome. Я отключил все свои расширения в Chrome, и это все еще не работает.

3. Я также использую Chrome, это браузер, который я тестировал, и у меня абсолютно нет дополнений.

4. Это то, что я получил в Safari: «Новая кнопка Facebook Like в последнее время сильно глючит. Если вам не нравится эта статья, пожалуйста, нажмите здесь.»

5. Я использую Chrome и получил то же сообщение, что и leo.vingi

Ответ №1:

У вас нет пространства имен open graph, включенного в ваш html-тег. Это может вызвать странное поведение. Попробуйте обновить это, чтобы увидеть, улучшится ли что-нибудь. Пример того, как это должно выглядеть:

 <html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:og="http://ogp.me/ns#"
      xmlns:fb="https://www.facebook.com/2008/fbml">
  

смотрите документацию.

Ответ №2:

Загрузите Facebook SDK таким образом

 <script type="text/javascript">
    window.fbAsyncInit = function() {
        FB.init({ appId: '111111111111111', status: true, cookie: true, xfbml: true });
    };

    (function() {
        var e = document.createElement('script'); e.async = true;
        e.src = document.location.protocol   '//connect.facebook.net/en_US/all.js';
        document.getElementById('fb-root').appendChild(e);
    } ());

</script>
  

Ответ №3:

Это из-за перенаправления ссылки. Предположим, вы создаете кнопку, чтобы понравиться следующей ссылке:

http://example.com/abc.php?product=100

но когда кто-то открывает приведенную выше ссылку, введя в веб-браузере, они перенаправляются на следующую ссылку (просто приводя пример)

http://example.com/abc/def

Поэтому убедитесь, что вы указали правильную ссылку, которая должна понравиться, в кнопке like. Другими словами, если вы нажмете http://example.com/abc/def на кнопку link, она не будет запрашивать подтверждение.