在iFrame中加载Facebook共享器
我只是想把facebook共享页面加载到一个iframe中,但没有成功 这是我用于iframe的代码在iFrame中加载Facebook共享器,facebook,Facebook,我只是想把facebook共享页面加载到一个iframe中,但没有成功 这是我用于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=ht
<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共享器出现在模式窗口中
谢谢是的,Facebook几乎阻止了iFrame内所有屏幕的加载 如果您使用的是FacebookConnect,那么您可以执行一些简单的javascript方法来在页面上获得一个对话框,而启动Facebook将需要大量的工作来使屏幕看起来更漂亮 请参阅此链接()或使用以下代码:
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.');
}
}
);
如果你没有使用FacebookConnect,那么你唯一的选择就是弹出一个窗口
另一个选择是使用like/send按钮插件,这不是完全相同的功能,但更容易集成
干杯
<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>
window.fbAsyninit=函数(){
FB.init({
appId:“”,
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
};
(功能(){
var e=document.createElement('script');
e、 src=document.location.protocol+'//connect.facebook.net/en_US/all.js';
e、 异步=真;
document.getElementById('fb-root').appendChild(e);
}());
$(文档).ready(函数(){
$(“#共享按钮”).live('单击',函数(e){
e、 预防默认值();
FB.ui(
{
方法:“提要”,
名称:“”,
链接:“”,
图片:'',
标题:'',
说明:“”,
消息:“”
});
});
});
您不应该在新开发中使用不推荐使用的函数。它不受支持,随时都会从我们脚下被拉出。请参阅:有关您应该做什么的更多信息。差不多9年后,sharer.php
仍然受到支持。F@#$facebook、twitter、linked in、pinterest和所有其他希望监视您的用户并降低页面加载速度的人。它们都不允许仅在用户希望使用服务时加载其内容。我希望它在iFrame中看起来好看,但他们不允许。Google Plus是唯一一个允许iframe的。@pathfinder:是的,也做了一些研究,只有当用户点击它时才会加载社交媒体垃圾。在这个网站上(它的活动现在已经结束),你可以看到我是如何做到这一点的。例如,点击facebook图标,它会要求您确认第三方cookie。在此之后,如果您决定继续,将加载addthis插件。此方法可以为用户节省大量流量,并且只有在您接受第三方cookie对话框时才能跟踪用户。此方法还使您无需为页面上的所有用户添加cookie策略横幅。