
语言 🇨🇳 简体中文
背景
使用 SSR
什么是 SSR? 
SSR,或称服务器端渲染,是一种机制和约定集,在这种方式中,应用或内容被渲染并且 客户端所需的工作非常少。
使用 SSR 时,客户端不执行 JavaScript。相反,客户端呈现的是由服务器“渲染”的 HTML/CSS。
SSR 的优点 
SSR 的一个主要优点是无需 JavaScript。因为这个原因,在许多使用场景中可以构建感觉 "更轻量" 的应用。
此外,SSR 可以作为回退方案,以防用户禁用了 JavaScript。这样评论线程仍然可以渲染,用户 也可以回复评论。
FastComments 已经经过良好优化,因此在大多数情况下不需要 SSR。但是,一些在线社区的用户不使用 JavaScript,或者禁用 它是更被推荐的做法。此时 FastComments 的 SSR 就很有用。
但是,SSR 的一个主要权衡是为了小的状态变更必须重新加载页面。
FastComments 支持的 SSR 功能 
FastComments 支持以下 SSR 功能:
- 可定制的评论组件。
- 匿名评论。
- 登录状态下的评论。
- SSO。
- 根回复和嵌套回复。
- 查看并对评论线程进行分页。
- 投票,包括匿名投票。
- 更改默认排序方向。
示例
FastComments SSR 的示例可在这里查看。
使用场景 
SSR 的示例用例如下:
- 当 JavaScript 被禁用时的回退方案。
- 在 JavaScript 不可用或不希望使用的环境中渲染评论界面。
- 对于不希望引入更多 JavaScript 的网站或在线社区。
FastComments 在何处使用 SSR 
FastComments 在以下地方使用 SSR:
- 我们的 WordPress 插件默认将 SSR 用作回退。如果 JavaScript 被禁用,用户仍然可以在您的博客上发表评论。
- 我们在自己的博客上也将其作为回退使用! https://blog.fastcomments.com
使用 SSR 
要使用 FastComments SSR,客户端可以从 https://fastcomments.com/ssr/comments 端点获取 HTML。
这可以通过多种方式完成。
在 WordPress 中
自 WordPress 插件版本 3.10.2 起,SSR 在没有启用 JS 的用户中作为回退已默认启用。
在网页中
对于已有的应用,假设使用的语言是 PHP,可以通过 以下示例 添加 SSR:

我们也可以仅在用户禁用 JS 时显示 SSR 界面:

有关使用 SSO 的示例,请 参见此处。
使用预渲染内容
我们的博客在构建时生成,并提供一个 使用 Handlebars 的 SSR 的良好示例。
基本参数
您需要传入的基本参数有:
tenantId- 该参数用于识别您作为客户。urlId- 该参数用于识别要加载评论的页面或文章,并定义评论保存的位置。url- 该参数用于通知和相关功能,以链接回评论线程。
自定义样式
SSR 版本的评论小部件使用与 JavaScript 版本相同的结构和渲染引擎。
因此,所有适用于 JavaScript 评论小部件的自定义样式同样适用于 SSR。
注意事项
在 SSR 中,没有 JavaScript 来控制渲染容器的高度。在浏览器中,长讨论可能会显示垂直滚动条。
因此,您必须根据需要进行调整。
