2011-01-11 35 views
5

Tôi có một trang web tích hợp một hộp quạt và một số thứ khác từ facebook. để có được mọi thứ trông đẹp mắt, tôi đã triển khai FBML như sau:Facebook thổi trang web của tôi

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

nó thực sự hoạt động tốt, ngoại trừ việc tôi thấy công ty của khách hàng của tôi có nhân viên để họ không thể truy cập Facebook. Tuy nhiên, điều này làm cho trang web phát nổ và không tải hoàn toàn vì tường lửa sẽ không cho phép mã FB trên trang web này kích hoạt chính xác.

Vì tôi không có khối này tại chỗ, tôi đang gặp sự cố khi sao chép từ xa và không thể xác định chính xác những gì nó đang làm khiến nó hiển thị không chính xác.

Tóm lại, có điều gì tôi có thể triển khai trong mã để kiểm tra xem FB có thể truy cập và chỉ kích hoạt fbml nếu nó là? Tôi đang sử dụng PHP và Jquery chủ yếu cho trang web.

Xin cảm ơn trước.

chỉnh sửa: Mã đoạn theo yêu cầu

Từ đầu:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en"> 

Sau đó, trong trang gọi một FanBox:

<div id="fbbox"> 
    <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> 
     <div id="fb-root"> 
      <fb:fan profile_id="xxxxxxxx" width="235" height="200" connections="12" stream="false" header="false" css="http://www.xxxx.com/xxxx.css?33" ></fb:fan> 
     </div> 
    <script> 
    <!-- 
     window.fbAsyncInit = function() { 
      FB.init({appId: 'xxxxxxx', status: true, cookie: false, xfbml: true}); 
     }; 
     (function() { 
      var e = document.createElement('script'); e.async = true; 
      e.src = document.location.protocol + 
      '//connect.facebook.net/en_US/all.js'; 
      document.getElementById('fb-root').appendChild(e); 
     }()); 
    --> 
    </script> 
</div>  

Tôi đã xxx'ed ra một số các cài đặt cụ thể, nhưng tôi có thể đảm bảo với bạn những điều này là chính xác trong mã thực tế.

+0

Câu hỏi này khá mơ hồ. Bạn không có ý tưởng những gì một phần của trang của bạn đang bị chặn theo cách nào, vậy tại sao nên bất cứ ai khác?;-) Bạn không thể đi đến/từ xa vào khách hàng của bạn và gỡ lỗi vấn đề từ đó? – Tomalak

+5

+1 cho tiêu đề giải trí. – dqhendricks

+0

Bạn có thể chụp ảnh màn hình không? Tôi muốn thấy vấn đề này. – Brad

Trả lời

0

tùy thuộc vào cách trang web bị chặn. bạn chỉ có thể tải một hình ảnh nhỏ từ facebook, và sau đó kiểm tra kích thước trong javascript. vì vậy bạn thấy chúng có đúng không. cho rằng tôi sẽ đề nghị sử dụng url vĩnh viễn của hình ảnh hồ sơ của bạn, bạn nhận được từ các tài liệu api, vì nó sẽ không thay đổi và luôn luôn cung cấp một hình ảnh có cùng kích thước (theo tài liệu).

ví dụ: http://graph.facebook.com/joseph.hopfgartner/picture

bạn cũng có thể chơi với facebook cross-site-script reciever.

một khả năng khác là tải nội dung nào đó từ facebook trong khung nội tuyến. thuộc tính vị trí sẽ (là thuộc tính duy nhất) có thể đọc được bởi trang web của bạn. bạn có thể sử dụng một url sẽ được chuyển hướng (ví dụ như url hình ảnh hồ sơ).

tuy nhiên điều này là để trả lời câu hỏi của bạn, nhưng tôi nghĩ đó không phải là giải pháp. trang web của bạn thực sự không nên "không tải" nếu một số tài nguyên bị chặn!

thuộc tính html của bạn không thể gây ra điều đó vì vậy bạn sai lầm cái gì khác lên

bạn có thể cung cấp thêm mã hoặc một liên kết tình hình thực hiện của bạn?

+0

Cảm ơn - đó là tất cả thông tin rất hữu ích! Tôi đã không chơi với các trang web cross reciever vì vậy sẽ có một cái nhìn tại đó quá. Tôi cũng sẽ đăng một số mã để bạn xem. Cảm ơn! – TH1981

+0

tại sao bạn không thử tự mình chặn facebook? hơn bạn có thể kiểm tra hầu hết các bộ lọc chỉ hoạt động bằng cách chặn địa chỉ IP. –

+0

thật đáng buồn, tôi không chắc chắn làm thế nào để làm điều đó. Tôi sẽ có một cái nhìn và xem nếu tôi có thể tìm ra nó cho mục đích thử nghiệm. – TH1981

2

Nếu facebook.com bị chặn đối với người dùng, các plugin cắm an toàn xã hội tải anf do đó sẽ không hiển thị trên trang web của bạn. Bạn nên kiểm tra xem liệu tải plug-in và liệu chúng có thay thế nội dung bằng thứ gì đó cho phép trang web của bạn tiếp tục hoạt động mà không có chúng hay không.

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