2010-09-21 37 views
7

Tôi vừa mới triển khai nút Đăng nhập Facebook và nút "Thích" trên Facebook bằng XFBML. Bạn có thể xem trang web trên http://colnect.comĐăng nhập Facebook/Giống như thất bại trên IE8

Mọi thứ hoạt động tốt với FireFox, Chrome, Opera & Safari.

Tuy nhiên, IE không hiển thị nút "đăng nhập" hoặc "thích" và cũng không có thông báo lỗi.

Bất kỳ ý tưởng nào?

Trả lời

7

Dường như tôi sẽ là loại người tự trả lời với hy vọng nó sẽ giúp ai đó.

Đối với Internet Explorer để nhận ra Facebook bạn nên thêm

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

vào thẻ html của bạn, đối với tôi đó là

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

Vấn đề thứ hai tôi đã là IE không hỗ trợ Array.indexOf() Vì vậy, đây là cách xung quanh nó:

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

Hy vọng điều đó sẽ hữu ích.

2

Tôi đã giải quyết được vấn đề của mình với mã này. Phần còn lại của giải pháp đã không làm việc cho trường hợp của tôi.

<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> 

Tôi hy vọng nó sẽ giúp người khác.

+0

Hãy cố gắng giải thích như thế nào mã của bạn là khác nhau như sự khác biệt đáng chú ý duy nhất giữa mã của bạn và của tôi là FB.XFBML. phân tích cú pháp ('fb-stuff'); – Collector

+0

Cảm ơn. Tôi thêm nút like động, và chỉ sau khi tôi thêm FB.XFBML.parse ('parent div object') - nó bắt đầu hiển thị trong IE9 ...! –

0

Đối với tôi, mẹo đó đã liên tục thêm class='fb-like' vào thẻ <fb:like> là gì.

Các vấn đề liên quan