FB.XFBML.parse无法在IE中运行

Awa*_*rni 2 internet-explorer facebook xfbml facebook-javascript-sdk

嗨,我在网上使用Facebook按钮.我的所有内容都是通过ajax加载的,我已经知道如果你想使用带有ajax加载内容的facebook这样的按钮你应该使用FB.XFBML.parse().我已经使用过它并且运行良好是firefox和chrome但它在IE中不起作用.我正在检查IE 8.我搜索了解决方案,发现在这里添加xmlns:fb="http://www.facebook.com/2008/fbml"我的html标签.我做了但是还没修好.我的代码看起来像

  layout.php

 <div id="fb-root" style="display:none"></div>
    <script>
        window.fbAsyncInit = function() {
        FB.init({
          appId      : 'APPID', // App ID
          status     : true, // check login status
          cookie     : true, // enable cookies to allow the server to access the session
          xfbml      : true  // parse XFBML
        });

        // Additional initialization code here
      };

        (function(d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) return;
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));

    </script>
Run Code Online (Sandbox Code Playgroud)

这就是我的使用方式 XFBML.parse

 $(".fblike").each(function(){
  FB.XFBML.parse($(this).get(0));
  //because having multiple likes button on same page.
});
Run Code Online (Sandbox Code Playgroud)

这是我喜欢的按钮

 <div class='fblike'><fb:like send='false' layout='button_count' width='100' show-faces='false' href='www.myurl.com?ref=facebook' ></fb:like></div>
Run Code Online (Sandbox Code Playgroud)

如何使它与IE8和IE9一起使用?我哪里错了,如何解决这个问题?

问候,

bra*_*dev 6

根据我的经验,如果你尝试FB.XFBML.parse()在此调用之前运行包含在隐藏的内容中,它将无法在IE和Firefox上运行.

这不起作用:

<div id="wrapper" style="display:none">
    <fb:like id="like_button" ... ...></fb:like>
</div>

<script>
FB.XFBML.parse(document.getElementById('like_button'), function() {
    $('#wrapper').show();
});
</script>
Run Code Online (Sandbox Code Playgroud)

可以使用这样的东西:

<div id="wrapper" style="display:block; height:0px; overflow:hidden;">
    <fb:like id="like_button" ... ...></fb:like>
</div>

<script>
FB.XFBML.parse(document.getElementById('like_button'), function() {
    $('#wrapper').animate({height:'30px'}, 300) 
});
</script>
Run Code Online (Sandbox Code Playgroud)

希望这有助于其他人.