2012-02-14 77 views
1

我在我公司的网站上添加了一个Facebook按钮,这样人们可以通过Facebook快速向用户分发调查。这是一个非常简单的JavaScript:Facebook分享者没有给出标题

function SFace() 
{ 
window.open("http://www.facebook.com/sharer/sharer.php?u=[[:SurveyUrl:]]","Facebook","width=700,height=300,toolbar=0,resizable=0"); 
} 

<img src="http://www.snap-surveys.com/test/face.jpg" onClick="SFace()" /> 

它工作正常,但人们希望自定义标题出现。所以,我加了& t =然而,当你点击链接时,它仍然只显示长URL。我想也许是因为我没有使用encodeURIComponent。所以,我添加了一个变量

var SFace="http://www.facebook.com/sharer/sharer.php?u=[[:SurveyUrl:]]&t=something"; document.write(encodeURIComponent(uri)); 

然后在函数中使用它。同样的事情,显示的是网址而不是标题。我究竟做错了什么?我怎样才能让它在共享链接中显示自定义标题?

+1

我很确定这个sharer.php的东西不再被支持,并被弃用。请参阅最顶端的http://developers.facebook.com/docs/share/。 – 2012-02-14 20:58:28

+0

我刚才看到了。我实际上从Joystiq.com获得了代码,使用他们的共享按钮,这似乎有&t字段正常工作。谢谢回复。 – sbatson5 2012-02-14 21:08:58

+0

我试图repro,但sharer.php不会发布到我的墙上?!好吧。 – 2012-02-14 21:14:06

回答

1

如果有人想知道我的解决方案:

首先来从Facebook获得的应用程序ID(获得开发者的应用程序,创建一个新的应用程序和设置的URL为基础/通用域名的网站所需要你正在添加的按钮)。一旦你的ID的网址是:

http://www.facebook.com/dialog/feedredirect_uri=THE_URL&app_id=YOUR_APP_ID&link=THE_URL_YOURE_LINKINGTO&name=TITLE_YOU_WANT_TO_DISPLAY 

我的建议是出像正常写完整的URL,并创建一个变量,文件撰写(encodeURIComponent方法);就像我上面的例子。这将添加适当的间距字符。

如果URL与应用程序中列出的URL匹配,则可以使用自定义标题的共享链接,因此可以使用自己的按钮而不是Facebook提供的默认“Like”按钮。