我有一个带有重写网址的动态页面。我想在其中添加一个facebook分享按钮。因此用户点击分享按钮即可共享页面。但facebook分享开发者页面要求提供特定网址。不确定如何共享动态生成的URL。
这里我发现了一些捕获网址的代码。但我不知道,如何将其包含在Facebook代码中。
jQuery(document).ready(function() {
var href = jQuery(location).attr('href');
var url = jQuery(this).attr('title');
jQuery('#current_title').html(href);
jQuery('#current_url').html(url);
});
Facebook分享按钮的HTML部分
<div class="fb-share-button" data-href="http://developers.facebook.com/docs/plugins/" data-type="button"></div>
请帮助
非常感谢
答案 0 :(得分:23)
这对我有用:
<script language="javascript">
function fbshareCurrentPage()
{window.open("https://www.facebook.com/sharer/sharer.php?u="+escape(window.location.href)+"&t="+document.title, '',
'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');
return false; }
</script>
然后使用链接调用代码:
<a href="javascript:fbshareCurrentPage()" target="_blank" alt="Share on Facebook">Facebook</a>
如果您希望它是直接链接而不是在窗口中打开,请在函数中使用它:
window.location.href="https://www.facebook.com/sharer/sharer.php?u="+escape(window.location.href)+"&t="+document.title;
可能的jquery解决方案:
<a class="fbsharelink" data-shareurl="YOURLINK">Facebook</a>
$('.fbsharelink').click( function()
{
var shareurl = $(this).data('shareurl');
window.open('https://www.facebook.com/sharer/sharer.php?u='+escape(shareurl)+'&t='+document.title, '',
'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');
return false;
});
答案 1 :(得分:10)
请勿在网址中输入任何内容“删除现有链接(https://developers.facebook.com/docs/plugins/)”,并像平常一样在页面中包含代码。
喜欢或分享按钮会选择当前页面的链接
答案 2 :(得分:4)
使用此功能让Facebook的api重新分析您的页面
FB.XFBML.parse();
答案 3 :(得分:3)
您可以使用
获取网址 var href = window.location
您可以使用
获取页面标题 var title = document.title
不需要为这些简单的任务使用jQuery。
要使FB共享按钮动态化,您必须重新加载或编辑它的数据属性以匹配当前值。此外,在快速查看GB共享按钮的文档后,没有选项可以将标题设置为HREF。可以找到文档here。
因此,对于您的示例,在更改URL后,还要运行以下代码:
jQuery(document).on('ready', function($){
var url = window.location;
$('.fb-share-button').attr('data-href', url);
});
答案 4 :(得分:0)
我认为最简单的解决方案就是这个。它适用于最复杂的网址,假设这是您的网址
http://dramatainment.com/videos.php?v=000014
这是您修改Facebook分享按钮代码的方法
<div class="fb-share-button" data-href="http://dramatainment.com/videos.php?v=<?php echo $v; ?>" data-layout="button" data-mobile-iframe="true"><a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fdramatainment.com%2Fvideos.php&src=sdkpreparse">Share</a></div>
刚添加了像这样的动态网址
data-href="http://dramatainment.com/videos.php?v=<?php echo $v; ?>"
答案 5 :(得分:-1)
这也可以使用php
完成<?php
$protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ||
$_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$CurPageURL = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
?>
<div class="fb-share-button" data-href=" <?php $CurPageURL ?> " data-layout="button_count" data-size="large">
<a target="_blank"
href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F
<?php $CurPageURL ?>
%2F&src=sdkpreparse"
class="fb-xfbml-parse-ignore">Share
</a>
</div>