2011-01-13 23 views
7

Tôi đang sử dụng FB.getLoginStatus cho một ứng dụng trên Facebook. Điều này làm việc tốt trong tất cả các trình duyệt, bao gồm cả IE8. Nhưng nó không hoạt động cho IE7. Mã của tôi là:Tại sao FB.getLoginStatus không hoạt động trong IE7?

 FB.getLoginStatus(function(response) {    
      if (response.session) { 
       alert("logout"); 
      } 
      else{ 
       FB.Event.subscribe('auth.login', function(response) { 
        login(); 
       }); 
       alert("login"); 
      } 
     }); 

Có ai biết tại sao không?

+3

Tôi đặt channelUrl: 'example.com/facebook/' trong FB.init và nó hoạt động! – novellino

+0

+1 channelUrl cũng đã làm việc cho tôi! Được kéo tóc của tôi ra trên này. thanks –

+0

Chỉ cần một lưu ý, tôi cũng thấy cùng một vấn đề trong IE8. Câu trả lời được đăng dưới đây giải quyết vấn đề trong cả IE7 và IE8 cho tôi. – DuckMaestro

Trả lời

10

Theo tài liệu tại http://developers.facebook.com/docs/reference/javascript/fb.init/, các giải pháp thích hợp là tạo ra một tập tin trên máy chủ web của bạn (ví dụ channel.html) chứa chỉ:

<script src="http://connect.facebook.net/en_US/all.js"></script> 

Và sau đó xác định URL tuyệt đối để kênh của bạn. html trong các tùy chọn init của bạn:

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
    appId : 'YOUR APP ID', 
    channelUrl : 'http://example.com/channel.html' // custom channel 
    }); 
</script> 

Để thuận tiện trong triển khai, tôi sử dụng sau đây để tính toán kênh kênh của tôi.

var curLoc = window.location; 
curLoc.protocol + "//" + curLoc.hostname + ":" + curLoc.port + "/channel.html" 
+0

đã làm việc cho tôi. cảm ơn! – Jeff

+0

URL tệp kênh không hợp lệ sẽ khiến điều này không thành công trong IE7, trong khi các trình duyệt khác vẫn hoạt động tốt, bao gồm IE8. –

0

Hiện tại API này (FB.getLoginStatus) không hoạt động trên trình duyệt IE7 nữa.

Hãy xem ở đây: getLoginStatus not Fired on IE7

Nếu bạn cố gắng chạy mã trong trang sau trên IE7 nó không làm việc: http://www.fbrell.com/auth/login-and-logout

Có vẻ như "channelUrl" sửa chữa không hoạt động nữa và sự hỗ trợ IE7 cho SDK Javascript Facebook bị xâm phạm.

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