Facebook Войти / Like Fail на IE8 - PullRequest
       11

Facebook Войти / Like Fail на IE8

7 голосов
/ 21 сентября 2010

Я недавно реализовал кнопку входа в Facebook и кнопку «Мне нравится» в Facebook, используя XFBML.Вы можете увидеть сайт на http://colnect.com

Все хорошо работает с FireFox, Chrome, Opera & Safari.

Однако IE не отображает ни кнопки «Войти», ни «Мне нравится» исообщение об ошибке также не доступно.

Есть идеи?

Ответы [ 4 ]

7 голосов
/ 21 сентября 2010

Кажется, я отвечу самому себе, надеясь, что это кому-нибудь поможет.

Чтобы Internet Explorer распознал Facebook, вы должны добавить

xmlns:fb="http://www.facebook.com/2008/fbml"

к вашему тегу html, для меня это

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en">

Вторая проблема, с которой я столкнулся, заключалась в том, что IE не поддерживает Array.indexOf (), поэтому вот как это можно сделать:

if(!Array.indexOf){
  Array.prototype.indexOf = function(obj){
          for(var i=0; i<this.length; i++){
              if(this[i]==obj){
                  return i;
              }
          }
      return -1;
  }
}

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

2 голосов
/ 16 января 2011

Я решил мою проблему с этим кодом. Остальное решение не сработало для моего случая.

<script>

    window.fbAsyncInit = function() {
        FB.init({
          appId  : '330984983742',
          status : true, // check login status
          cookie : true, // enable cookies to allow the server to access the session
          xfbml  : true  // parse XFBML
        });
    };

    (function() {
        var e = document.createElement('script');
        e.src = document.location.protocol + '//connect.facebook.net/<?php echo ($_SESSION["lang"]=="es")?"es_ES":"en_US"; ?>/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
        FB.XFBML.parse('fb-stuff'); 
    }());

</script>

Надеюсь, это поможет кому-то еще.

0 голосов
/ 13 декабря 2011

Мне нужен файл канала, как описано в FB Javascript SDK.Я опубликовал ответ на похожую проблему - возможно, это поможет и в вашем случае:

проблемы только с IE8 (Internet Explorer)

0 голосов
/ 04 октября 2011

Для меня последовательно этот трюк заключался в добавлении class='fb-like' к тегу <fb:like>.

...