使用javascript获取当前页面的URL并将其附加到Facebook分享链接

7
我一直在努力让Facebook分享按钮正常工作,但是没有成功。我希望所有页面上的代码都相同,因此需要能够动态获取当前页面的URL并将其附加到Facebook分享链接中。
我想到的最好方法如下:
<a href="" onclick="window.open('http://www.facebook.com/share.php?u=' + 
encodeURIComponent(location.href))">Share this page</a>

https://jsfiddle.net/08x2sufs/2/

然而,正如您在 jsFiddle 的演示中所看到的那样,该链接确实将我们带到了 Facebook 分享页面,但是却没有可以分享的页面。

感谢您的帮助。


很可能是因为您正在尝试在此处共享URL https://fiddle.jshell.net/08x2sufs/2/show/,而Facebook的抓取器无法读取该URL。请在您知道FB抓取器可以正确读取的页面上进行尝试。 (如果有疑问,请使用https://developers.facebook.com/tools/debug/来查找。) - CBroe
2个回答

6
我会采用以下方法:
<a href="" id="fb_share">Share this page</a>

<script>
    window.onload = function() {
        fb_share.href ='http://www.facebook.com/share.php?u=' + encodeURIComponent(location.href); 
    }  
</script>

1
你只需要添加 var fbShareLink = document.getElementById('fb-share-link'); - Muaaz

0
$Url = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
$Url .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];

<div class="fb-share-button" data-href="<?php echo $Url; ?>" data-layout="button_count" data-size="small">

<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo $Url; ?>&amp;src=sdkpreparse" class="fb-xfbml-parse-ignore">Share</a></div>

1
哦,用Java啊,我的错。好吧,这可能会帮助其他人。;) - Graham Corlet
嗨,Graham,感谢您的贡献!您能否为您的答案添加一些解释?实际上,对于一些未来的读者来说,编程语言的澄清也会很有用。谢谢并继续在stackoverflow上交流! - Alpi Murányi
它帮了我!谢谢哈哈。这里使用的是PHP。 - wynx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接