我创建了一个视频页面,当文件存储在服务器上时,它使用数据库动态加载视频。页面上预加载了一个视频,该数据可以毫无问题地被点赞并发布到 Facebook。单击新缩略图时,我希望 Facebook Like 信息更改为新的视频内容(标题、网址和图像)。我一直在寻找解决方案,并且有很多类似的解决方案,但是他们简单的添加解决方案FB.XFBML.parse();
对我不起作用。当 Ajax 调用成功返回时,我会更新我的元标记:
$("meta[property=og\\:title]").attr('content', videoTitle);
$("meta[property=og\\:url]").attr('content', "www.mySiteURL.com/index.php?videoID="+videoID);
$("meta[property=og\\:image]").attr('content', "www.mySiteURL.com/images/video/"+videoImageName);
但是当我在这些设置后立即运行解析代码时,我看到按钮刷新但它仍然具有相同的内容。我可以看到元标记实际上是使用 Firebug 更新的。只是 FB 按钮没有正确地重新抓取页面信息以发送到 FB。我在我的 html 标记中设置了命名空间,并且还设置了其他 og:metas,但这些是我需要重新抓取的三个。
我在一篇帖子中看到有人ajax.complete(function(){FB.XFBML.parse();});
直接在主页上使用了类似的东西,我不记得确切的代码,但想法是一样的,但它仍然没有工作。我认为只要在我的 ajax 函数中运行它就足够了。
我错过了什么吗?
任何帮助将不胜感激!
谢谢。
编辑:我应该补充一点,每个视频都有自己的直接 URL,该 URL 插入到 og:url 中,因为它们都是通过 ajax 加载的。当我使用其中一个唯一的 URL 时,Facebook Linter/Object Debugger 会向我显示每个视频的所有正确数据,这只是一个抓取问题 - 至少,在我对此的了解有限的情况下,这对我来说似乎是这样。