如何使用客户端模板引擎(如AngularJS,Mustache,Handlebars)进行Facebook Open Graph友好元标记

根据我的测试,Facebook的抓取工具不像浏览器那样呈现客户端模板.

我想不惜一切代价避免使用Web服务器并为Open Graph对象构建HTML文件.我想通过URL动态生成标记,但似乎Facebook无法做到这一点.

有人可以通过Facebook确认吗?我在#mobiledevcon问Open Graph的负责人,她说Facebook可以渲染像{{value}}这样的东西

我的元标记如下,它们在每个浏览器中都可以正常显示.但Facebook Open Graph Debugger只能看到原始文本,而不是内插内容.

<Meta property="{{Meta.property}}" content="{{Meta.content}}">
当你考虑它时,应该清楚,为什么这不起作用.

Facebook抓取工具在服务器提供服务时下载HTML. Facebook抓取工具不会执行任何JavaScript,因为所有抓取工具都不会执行JavaScript.这是由于安全限制和速度原因(他们没有时间在他们的服务器上执行JavaScript.)

没有办法解决这个问题.如果您希望抓取工具为您的页面编制索引,则需要直接向他们提供您希望他们阅读的内容.

提示:您可以使用类似于phantom.js内容在服务器端呈现页面并将其提供给爬网程序.

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...