2012-02-15 4 views
9

Я просто пытаюсь загрузить страницу facebook sharer в iframe, который находится в позиционированном div без успеха.Загрузите Facebook Sharer в iFrame

Вот код, я использую для фрейма,

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

При просмотре страницы, его пустой и источником IFrame является

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

Если я рассматриваю URL напрямую, все отображается правильно.

Включает ли блок facebook загрузчик в iFrame? и каковы мои альтернативы для того, чтобы facebook sharer появился в модальном окне?

Благодаря

+0

Вы не должны использовать устаревшую функцию в новой разработке. Он не поддерживается и будет вытащен из-под нас в любое время. Дополнительную информацию о том, что вы должны делать, см. На странице https://developers.facebook.com/docs/share/. – DMCS

ответ

7

Да, Facebook в значительной степени блокирует все загрузки экранов внутри. Плавающие фреймы

Если вы используете Facebook connect, вы можете выполнить некоторые простые javascript-методы, чтобы получить диалоговое окно на своей странице, а для загрузки Facebook позаботится о большой работе, чтобы экран выглядел красиво.

Смотрите эту ссылку (http://developers.facebook.com/docs/reference/javascript/FB.ui/) или используйте код ниже:

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.'); 
    } 
    } 
); 

Если вы не используете Facebook Connect тогда действительно единственный вариант, чтобы получить тот точный экран будет бросать всплывающее окно.

Другим вариантом было бы использовать плагин типа like/send, это не совсем такая же функциональность, но легче интегрировать. http://developers.facebook.com/docs/plugins/

Cheers!

+3

F @ # $ facebook, твиттер, связанный, pinterest и все остальные, которые хотят следить за вашими пользователями и замедлять работу ваших страниц. Ни один из них не позволяет загружать свой материал только в том случае, если пользователь хочет использовать эту услугу. Я хотел, чтобы он выглядел красиво в iFrame, но они этого не допустят. Google Plus является единственным, кто разрешит iframe. – pathfinder

+0

@pathfinder: Да, проводили некоторые исследования и загружали мусор из социальных сетей только тогда, когда пользователь нажимал на него. На этом сайте http://meezingeninrotterdam.nl (который сейчас закрыт) вы можете видеть, как я это сделал. Например, нажмите значок facebook, он попросит вас подтвердить сторонние файлы cookie. После этого плагин addthis будет загружен, если вы решите продолжить. Этот метод экономит пользователю много трафика, и пользователи могут следовать только тогда, когда вы приняли сторонний диалог cookie. Этот метод также избавляет вас от необходимости добавлять баннер политики cookie FOR ALL на странице. – Codebeat

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

Вышеуказанная строка в голове.

<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> 
Смежные вопросы