IE8 fbml как кнопка и eot (вложение шрифта) - PullRequest
2 голосов
/ 03 марта 2011

У меня проблема с одним из сайтов, которые я разрабатываю. Ситуация такая: Я использую @ font-face, сгенерированный на fontsquirrel.com, и в любом браузере, кроме IE8, работает нормально. В начале это работало и для IE8, но (я думаю) после обновления перестало нормально работать. Это то, что происходит после загрузки страницы, шрифт на странице остается неизменным до тех пор, пока вы не наведете указатель мыши на документ, после чего он применяет правило @ font-face. Вы можете увидеть это здесь: http://devel.2klika.net/fiolic/demo/home.php Также я использую fbml на этой странице для кнопки fb: like, это код:

        <span style="float: right; position: relative; left: 10px;">
            <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
            <fb:like href="http://www.facebook.com/#!/pages/Mesnice-Fiolic/174173775933578" layout="button_count" show_faces="false" width="50" font="arial"></fb:like>
        </span>

Я понял, что комментирование fb: like решает, вроде, проблему @ font-face, вот так:

        <span style="float: right; position: relative; left: 10px;">
            <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
            <!-- <fb:like href="http://www.facebook.com/#!/pages/Mesnice-Fiolic/174173775933578" layout="button_count" show_faces="false" width="50" font="arial"> </fb:like> -->
        </span>

Я бы хотел использовать эту кнопку fb: like, если это возможно, чтобы она работала с IE8 и @ font-face:)

Я проверил это с 64-битной Windows 7, 64-битной IE 8.0.7601.17514 и 32-битной Если я использую IE8 в представлении совместимости, он работает нормально. Кто-нибудь может мне помочь с этим вопросом? Заранее спасибо

Ответы [ 2 ]

1 голос
/ 24 апреля 2011

Я нашел много ответов на других форумах, в которых говорилось о добавлении пространств имен в тег html как способ заставить эту работу работать.Я решил попробовать сам, и с большой радостью в IE8 появилась кнопка «Мне нравится».

Я изменил свой HTML-тег с:

<html>

на:

<html xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/">

Как видно из кода, который я использовал ниже:

<html xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/">
<head>
</head>
<body>

<div><fb:like id="fb_like_btn_iframe" show_faces="no" width="220" href="http://www.pixorial.com"></fb:like></div>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
  api_key = "<%= FACEBOOK['key'] %>";
  FB.init({
    appId  : api_key,
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true  // parse XFBML
  });

  var like_clicked = function(href, widget){
    $.ajax({
      type : "POST",
      url : '<%= url_for :controller => :gallery, :action => :update_likes %>',
      data : {"url_of_like": href, "type": "like", "authenticity_token": <%= form_authenticity_token.inspect %>}
    });
    parent.likeButtonChanged(href);
  }

  var like_unclicked = function(href, widget){
    $.ajax({
      type : "POST",
      url : '<%= url_for :controller => :gallery, :action => :update_likes %>',
      data : {"url_of_like": href, "type": "unlike", "authenticity_token": <%= form_authenticity_token.inspect %>}
    });
    parent.likeButtonChanged(href);
  }

  $(document).ready(function(){
    FB.Event.subscribe('edge.create', like_clicked);
    FB.Event.subscribe('edge.remove', like_unclicked);
  })
</script>

</body>
</html>
0 голосов
/ 22 марта 2011

Я столкнулся с той же проблемой. Весьма разочаровывает, так как кажется, что нет решения, кроме удаления кнопки «Мне нравится» со страницы.

Я отправил сообщение об ошибке на Facebook для этой проблемы.

...