【问题标题】:Rendering meta tags for a scraper in an client side (Angular JS) app在客户端(Angular JS)应用程序中为刮板呈现元标记
【发布时间】:2013-05-02 06:18:23
【问题描述】:

我有一个AngularJS 网络应用程序,当然它基本上完全在客户端运行。 我需要为 FaceBook 刮板添加 html meta tags,它当然需要从服务器渲染,而不是从任何客户端 java 脚本。

到目前为止,我已经使用两个不同的地址完成了这项工作:

所以如果有人上网到mysite.com/products/1234 他将获得 FaceBook 元标记和重定向到mysite.com/products2/1234, 这是客户端应用程序。

当然,这并不漂亮,而且当人们在 FB 的屏幕上复制粘贴链接时 - 它不会找到任何元数据。

我的应用是AngularJS,服务器是NodeJS

是整个应用页面的服务器端渲染的唯一方法吗?

我真的很想将客户端和服务器端的逻辑和代码分开。

谢谢

【问题讨论】:

  • 你是用html5的angular模式还是每个页面都有自己的view?
  • 每个“页面”都有自己的视图,但当然,FaceBook 抓取工具只获取 index.html

标签: javascript facebook node.js angularjs client-side


【解决方案1】:

我不熟悉 node.js(还 :))但我很确定您可以检查请求是否为 XMLHttpRequest。如果是,则为 ajax 调用发回数据,如果不是,则呈现整个页面。

【讨论】:

    猜你喜欢
    • 2019-10-31
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 2014-03-26
    • 2020-01-02
    • 2019-08-05
    • 2017-02-22
    相关资源
    最近更新 更多