如果Facebook指的是同一页面但带有不同的#字符串,那么Facebook会对ajax Web应用程序中的“赞”按钮产生什么影响?
是否将它们视为“喜欢”的不同页面?
例如,如果我获得4次点击:
mysite.com/articles#story1 mysite.com/articles#story2 mysite.com/articles#story3 mysite.com/articles#story4
用户的新闻源中将显示什么
4 people like mysite.com/articles
要么
dave likes mysite.com/articles#story1 tom likes mysite.com/articles#story2 ben likes mysite.com/articles#story3 nick likes mysite.com/articles#story4
FB和#字符串还有其他需要考虑的事情吗?
Facebook的类似按钮使用嵌入在单个页面的HTML标记中的元数据。如果您的URL在通过curl访问时产生不同的元数据(即没有JavaScript,那么我认为这是不可能的,因为在服务器端看不到哈希部分,因此从理论上讲,这是行得通的,因此无法在服务器端处理哈希字符串值) )。
因此,我假设Facebook Like按钮对于不同的哈希字符串不会有不同的行为。看一下Facebook文档(大多数情况很糟)并没有提到这一点,但是Facebook开发者论坛似乎证实了这一点:http : //forum.developers.facebook.com/viewtopic.php?pid=240151
但是,一切并没有丢失。您可以指定“喜欢”按钮的URL,因此只需将URL设置为同一页面的SEO友好URL:http : //developers.facebook.com/docs/reference/plugins/like
因此,现在我们知道您具有哈希字符串URLS的静态版本。以前,您很可能使用以下代码在页面上放置类似按钮:
XFBML:
<fb:like show_faces="false" width="450"></fb:like>
相反,您应该指定URL的SEO版本。例如,当您在 **mysite.com/articles#story4上时** ,代码应类似于:
<fb:like href="mysite.com/articles/story/4" show_faces="false" width="450"></fb:like>