Facebook Share Dialog Strips Anchor Tags

时间:2014-10-22 00:17:51

标签: php html facebook facebook-php-sdk

我一直在做一些研究,我还没有找到任何与我正在寻找的相关的信息。我已经包含了一些我已经发现的相关问题的链接。

我在WordPress中创建了一个页面(尽管CMS并不具有相关性),并且有一页有一系列评论。在每个评论之前,我创建了一个锚标记,这样如果你转到URL“http://website.com/#10”,你将被带到第十条评论。 URL和锚点工作正常。

我现在正在尝试将Facebook共享功能集成到网站中。具体来说,我希望能够共享包含#10的网址“http://website.com/#10”,以便用户能够在社交媒体上分享特定评论,而不仅仅是整个评论页面。

根据位于here的Facebook Share对话示例,我制作了一个如下所示的网址:

https://www.facebook.com/dialog/share?
    app_id=XXXXXXXXXXXXXX
    &display=popup
    &href=http%3A%2F%2Fwebsite.com%2F%2310
    &redirect_uri=XXXXXXXXXXXXXX

所有X都填写有效信息。请注意,“href”参数是“http%3A%2F%2Fwebsite.com%2F%2310”,这是“http://website.com/#10”的编码版本。 “#”符号编码为“%23”。

此网址在分享方面效果相当不错。当我点击它时,我被带到了Facebook,它给了我们在Share Dialog开发者页面上显示的相同对话框。但是,点击“发布到Facebook”后,我发现共享的实际网址实际上是“http://website.com/?fb_action_ids=XXXXX&fb_action_types=og.shares”。 URL中的任何位置都没有“#10”。

以下是我所做研究的一些信息,以表明这是一个新问题(并删除任何重复的答案)。

  • This问题与我提出的问题非常相似,唯一的答案提到了一种使用Javascript将所有“#”符号更改为“%23”的方法。但是,我已经编写了我的URL来执行此操作,因此答案无关紧要。
  • This问题询问我认为是一个类似的问题,并且接受的答案基本上表示不推荐使用“共享”按钮,并继续回答“赞”按钮。但是,虽然共享功能可能曾经被弃用,但我已经链接到的developers.facebook.com上有一个完全可用的版本。我想使用这个版本,但能够共享包含锚标签的链接。

有没有人对如何进行有任何建议?

2 个答案:

答案 0 :(得分:1)

使用对话框似乎不允许URL根据需要包含#10。

相反,您可以使用,例如: https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.terra.com.br%2F%23dia-13&display=popup&ref=plugin;

可以做的是使用此网址通过javascript打开一个窗口,其中u指的是网址。

到目前为止,还没有一份文档描述了哪些参数可以与URL一起使用。众所周知,图片,标题和说明可以使用<meta>og:image标签声明,例如,以确保默认内容。

如上所述:http://okaypl.us/blog/facebook-share-dialog-longer-accepts-custom-parameters/

可能不再起作用的一些旧参数可在以下类似问题中找到: how to pass parameter like title,summary and image in facebook sharer url

答案 1 :(得分:-2)

FB.init({
    appId      : 'XXXXXXXXXXX', 
    cookie     : true,  
    xfbml      : true,  
    version    : 'v2.8' 
});
FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
    }
});