Facebook共享URL有哈希

noo*_*oob 8 url share facebook

我的单页网站有一些产品,点击后产品详细信息显示为简单的弹出窗口.每个产品都有Facebook分享.但是,当我在Facebook上分享网址时www.example.com#product1,在共享网址中表示#product1被剥夺了.

FB.ui({
  method: 'share',
  href: 'http://example.com/#product1',
}, function(response){});
Run Code Online (Sandbox Code Playgroud)

当我分享它时,只有http://example.com/ ,而不是http://example.com/#product1.我希望像http://example.com/#product1一样分享完整的网址.它以某种方式被剥夺了.

怎么避免这个?

Roe*_*mer 5

像CBroe提到的那样,Facebook索引URL并且#不被视为URL的一部分.

解决方案是使用"hashbang" #!符号.Facebook遵循谷歌Ajax规范,允许索引,在这种情况下,Ajax网站.

效果是http://www.example.com/#!/product1将被重写,而对您的服务器的查询变为http://www.example.com/?_escaped_fragment_=/product1.反过来,您可以在服务器上捕获该内容并使用专用于该产品的页面进行回复.

您可以在此处阅读更详细的答案:https://stackoverflow.com/a/15024853/561485

最重要的是,您的网站应该能够为每个产品提供专用页面; 如果您只有索引页面,使用#表示法将始终共享相同的URL.