我有一个facebook iframe应用程序,我提供了共享功能。我正在使用此代码:
<script>
function fbs_click()
{
u='<?php echo $shareURL;?>';
t=document.title;
window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
return false;
}
</script>
<style>
html .fb_share_button {
display: -moz-inline-block; display:inline-block;
padding:1px 20px 0 5px; height:15px; border:1px solid #d8dfea;
background:url(http://b.static.ak.fbcdn.net/rsrc.php/z39E0/hash/ya8q506x.gif)
no-repeat top right;
}
html .fb_share_button:hover {
color:#b5b8d3; border-color:#295582; background:#3b5998
url(http://b.static.ak.fbcdn.net/rsrc.php/z39E0/hash/ya8q506x.gif)
no-repeat top right; text-decoration:none;
}
</style>
<a href="http://www.facebook.com/share.php?u=<url>" class="fb_share_button" onclick="return fbs_click()" target="_blank" style="text-decoration:none;">Share</a>
我面临的问题是,如果我将你传递到我的网站网址,那么内部共享框标题会正确显示但是当发布到我的个人资料时,点击链接会将我重定向到我的facebook应用程序之外,我不会我想要它留在Facebook页面内。 但是,如果我将u参数更改为http://apps.facebook.com/app/之类的内容,则在共享框内显示标题为apps.facebook.com,当发布在我的个人资料中时,单击它会将我重定向到facebook应用程序内部但重定向到新选项卡。< / p>
我只想根据传递的值设置标题,如果我在个人资料页面上点击它,它应该保留在Facebook内。
答案 0 :(得分:10)
我找到了解决这个问题的方法你必须更改window.open中的参数并将值作为urlencode传递(我在php中完成)
我附加了更改后的代码:
1)
<?php
$title=urlencode('Facebook Share Platform');
$image=urlencode('imagepath');
$summary=urlencode('Check This Out');
$url=urlencode('http://apps.facebook.com/yourapplication');
?>
2)
window.open('http://www.facebook.com/sharer.php?s=100&p[title]=<?php echo $title;?>&p[summary]=<?php echo $summary;?>&p[url]=<?php echo $url; ?>&&p[images][0]=<?php echo $image;?>', 'sharer', 'toolbar=0,status=0,width=626,height=436');
希望这有助于面临同样问题的其他人。
由于
答案 1 :(得分:1)
def fb_share_knob opts={}
opts.each { |k,v| opts[k] = CGI.escape(v) if v.present? }
sharer_url = "http://www.facebook.com/sharer.php?s=100&p[url]=#{ opts[:url] }&p[title]=#{ opts[:title] }&p[summary]=#{ opts[:summary] }&p[images][0]=#{ opts[:image] }"
<<-FB_SHARE_LINK
<script type="text/javascript">
function fbs_click() {
window.open('#{ sharer_url }','sharer','toolbar=0,status=0,width=626,height=436');
return false;
}
</script>
<a href="#{ sharer_url }" onclick="return fbs_click()" target="_blank" class="fb_share_link">Share on Facebook</a>
FB_SHARE_LINK
end
Ruby代码。图像加载问题:如果您要共享的图像位于测试服务器上,请确保它可以从防火墙外部访问