我过去曾正确使用Facebook Like按钮(iframe版本),但出于某种原因,这次它对我不起作用。我正在分享像http://sub.domain.com/default.aspx?foo=bar这样的网页。当我查看源HTML时,iframe中共享的网址会正确显示http://sub.domain.com/default.aspx?foo=bar。当我检查OG元URL属性时,它是http://sub.domain.com/default.aspx?foo=bar(到目前为止一直很好)。单击“赞”时,它共享http://sub.domain.com。
是否还有其他人遇到此问题。就像我说我以前用过这个。我无法弄清楚为什么其他人开箱即用,而这个不是。
答案 0 :(得分:2)
您是否有< link rel =“规范”/> 标记,将其指定为同一页?
只是一个有根据的猜测 - 从未见过规范链接影响Open Graph Protocol共享。
答案 1 :(得分:1)
只需在<Head>
标记中添加以下两行,您就可以解决此问题。
<link href="http://sub.domain.com/default.aspx?foo=bar" rel="canonical">
<meta content="http://sub.domain.com/default.aspx?foo=bar" property="og:url">
这里我只是对网址进行了硬编码,但在实现时,请确保每个网页的网址都是动态的。您可以使用$ SERVER变量生成相应页面的URL。
如果您需要任何支持,请随时联系!
答案 2 :(得分:0)
这些按钮是否在主页上?默认代码类似于图标所在页面的URL。将子页面上的类似按钮放在父页面上时,这可能会出现问题。
答案 3 :(得分:0)
来自Facebook文档:
og:title链接到og:url和 og:site_name呈现为指向 您网站的域名自动生效。
“您的网站域名”是site_url,AFAIK没有办法改变这一点。看到 http://developers.facebook.com/tools/lint 和http://developers.facebook.com/docs/opengraph/(关于元标记的部分)