Jas*_* Xu 5 javascript facebook facebook-graph-api angularjs
此问题可能与确切的软件堆栈,框架或语言无关.
对于我目前的项目,我们使用AngularJS构建前端,该前端具有一个恒定的入口页面来加载实际数据和渲染,这对于CDN来说很容易,并且对于浏览器端的快速加载速度也很有用.但是对于某些社交功能,这样的架构师可能会导致一些问题.例如,当您将感兴趣的链接粘贴到Facebook门户以进行共享时,Facebook将抓取您的页面并显示预览.如果着陆页为空,则此类预览无效.
(我听说Google+最近支持在发回预览之前在服务器端渲染javascript逻辑,但显然它不是对其他类似服务的常见支持.Google.com也支持基于js的单页应用程序的索引.)
有没有更好的解决方案来优雅地解决这个问题,而不是回退到包含真实数据的动态页面?我在理解这个问题时遗漏了什么吗?
========
...我甚至想到了这一点,对于标识为FB请求的请求(如用户代理),将其重定向到包含类似PhantomJS的特殊网关,获取页面,呈现服务器端,并发送回DOM树快照作为FB生成预览的内容.但我也怀疑这是一个好方向.:(
我们的情况是一样的。简单的解决方案是在您的服务器将向 Facebook 抓取工具提供服务的页面中使用开放图谱元标记。基本上,您需要在服务器端执行 Web 应用程序在客户端执行的操作。工作量很大程度上取决于您的托管技术(MVC 使其变得超级简单)、您的 URI 格式和您使用的 API。
您可以在这里找到一些解释: https ://developers.facebook.com/docs/plugins/share-button/
开图介绍: http: //ogp.me/
| 归档时间: |
|
| 查看次数: |
3222 次 |
| 最近记录: |