2012-02-15 34 views
9

Tôi chỉ đang cố gắng tải trang chia sẻ facebook vào iframe trong div vị trí không thành công.Tải Facebook Sharer trong iFrame

Đây là mã Tôi đang sử dụng cho các iframe,

<iframe src="http://www.facebook.com/sharer.php?u=http://www.website.com&t=Title Hoes Here"></iframe> 

Khi tôi xem trang của nó trống và nguồn iframe là

<iframe src="http://www.facebook.com/sharer.php?u=http://www.website.com&t=Title Hoes Here"> 
<html> 
<body></body> 
</html> 
</iframe> 

Nếu tôi xem url trực tiếp, tất cả mọi thứ xuất hiện đúng cách.

Chặn facebook có tải trình chia sẻ trong iFrame không? và các lựa chọn thay thế của tôi để có trình chia sẻ facebook xuất hiện trong cửa sổ phương thức là gì?

Cảm ơn

+0

Bạn không nên sử dụng chức năng không dùng nữa trong quá trình phát triển mới. Nó không được hỗ trợ và sẽ được rút ra từ bên dưới chúng tôi bất cứ lúc nào. Vui lòng xem: https://developers.facebook.com/docs/share/ để biết thêm thông tin về những việc bạn nên làm. – DMCS

Trả lời

7

Có, Facebook chặn tất cả tải màn hình bên trong iFrames.

Nếu bạn đang sử dụng kết nối Facebook, bạn có thể thực hiện một số phương pháp javascript đơn giản để có được hộp thoại trên trang của bạn, và để khởi động Facebook, bạn sẽ phải mất rất nhiều công sức để làm cho màn hình trông đẹp hơn.

Xem liên kết này (http://developers.facebook.com/docs/reference/javascript/FB.ui/) hoặc sử dụng mã bên dưới:

FB.ui(
    { 
    method: 'feed', 
    name: 'Facebook Dialogs', 
    link: 'http://developers.facebook.com/docs/reference/dialogs/', 
    picture: 'http://fbrell.com/f8.jpg', 
    caption: 'Reference Documentation', 
    description: 'Dialogs provide a simple, consistent interface for applications to interface with users.' 
    }, 
    function(response) { 
    if (response && response.post_id) { 
     alert('Post was published.'); 
    } else { 
     alert('Post was not published.'); 
    } 
    } 
); 

Nếu bạn không sử dụng Facebook kết nối sau đó thực sự lựa chọn duy nhất của bạn để nhận được rằng màn hình chính xác là để ném một cửa sổ pop-up.

Một tùy chọn khác là sử dụng plugin nút like/send, đây không phải là chức năng tương tự nhưng dễ tích hợp hơn. http://developers.facebook.com/docs/plugins/

Chúc mừng!

+3

F @ # $ facebook, twitter, liên kết trong, sở thích và tất cả những người còn lại muốn theo dõi người dùng của bạn và làm cho trang của bạn tải chậm. Không ai trong số họ cho phép tải nội dung của họ chỉ khi người dùng muốn sử dụng dịch vụ. Tôi muốn nó trông đẹp mắt trong một iFrame nhưng họ sẽ không cho phép nó. Google Plus là người duy nhất sẽ cho phép iframe. – pathfinder

+0

@pathfinder: Có, đã thực hiện một số nghiên cứu và tải thùng rác truyền thông xã hội chỉ khi người dùng nhấp vào nó. Trên trang web này http://meezingeninrotterdam.nl (mà sự kiện của nó đã đóng cửa bây giờ), bạn có thể thấy tôi đã thực hiện nó như thế nào. Nhấp vào biểu tượng facebook ví dụ, nó sẽ yêu cầu bạn xác nhận cookie của bên thứ ba. Sau này plugin addthis sẽ được tải nếu bạn quyết định tiếp tục. Phương pháp này tiết kiệm rất nhiều lưu lượng truy cập và người dùng chỉ có thể theo dõi khi bạn đã chấp nhận hộp thoại cookie của bên thứ ba. Phương pháp này giúp bạn tiết kiệm cũng cần thêm biểu ngữ chính sách cookie CHO TẤT CẢ người dùng trên trang. – Codebeat

0
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> 

Dòng trên trong đầu.

<div id="fb-root"></div> 
<script> 
window.fbAsyncInit = function() { 
FB.init({ 
appId : '', 
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/en_US/all.js'; 
e.async = true; 
document.getElementById('fb-root').appendChild(e); 
}()); 

</script> 

<script> 
$(document).ready(function(){ 
$('#share_button').live('click', function(e){ 
e.preventDefault(); 
FB.ui(
{ 

method: 'feed', 
name: '', 
link: '', 
picture: '', 
caption: '', 
description: '', 
message: '' 
}); 
}); 
}); 
</script> 
Các vấn đề liên quan