我正在使用blazy脚本在用户向下滚动时更改页面的图像。它工作正常,我希望用户能够在 Facebook 上将每张图片分享给他的朋友。我设法将网址链接到图像的锚点。共享链接时,会显示一个带有图像简短描述的链接的小缩略图。我的问题是只显示我网站的徽标,而不是用户想要分享的图像。
<a class="facebook_share" href="actualites.php#237" onclick="
window.open(
'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href.split(location.hash||'#')[0] + '#237'),
'facebook-share-dialog',
'width=626,height=436');
return false;">
</a>
<div id="237">
<a href="content/posts/237/449.jpg" title="Voir en taille réelle">
<img class="b-lazy"
src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
data-src="content/posts/237/449_thumb.png" alt="image" width="700px">
</a>
</div>
查看The Open Graph 协议,我尝试在单击 Facebook 分享按钮时创建元标记。结果是一样的——我要分享的图片没有显示出来,这是因为 Facebook linter 只查看响应中的 HTML,不运行任何脚本。我的页面内容总是在变化,我无法“手工”编写元标记。
<a class="facebook_share" href="actualites.php#237" onclick="
$('meta[name=og:image]').remove();
$('head').append('<meta name=\'og:image\' content=\'***/content/posts/237/449_thumb.png\'>');
window.open(...[see above]);