您如何判断网页是客户端渲染还是服务器端渲染

时间:2018-09-28 04:41:30

标签: javascript

我想知道网页是客户端渲染还是服务器渲染,谢谢

10 个答案:

答案 0 :(得分:2)

只需在浏览器中禁用 javascript,然后刷新页面

答案 1 :(得分:1)

如果您偶然发现了此代码,需要像我一样检查代码...

与react SSR(我使用NextJS)一起使用的最简单的值是process.browser,您可以将其用作布尔值。例如if (process.browser) { ... do my browser code i.e. window.location.search.... }

注意:您不能执行if (window) {...},因为它将显示window is not defined。但是,如果您想防止this.window错误,可以使用window not defined

答案 2 :(得分:1)

如果您使用客户端浏览器,则以下代码返回 true,否则返回 true(除非有人故意试图捏造这个问题)。正如其他评论中所指出的,渲染可以是服务器端或客户端或混合。因此,这不会回答具体问题,但它至少可以启用一段执行渲染的代码,该代码可以同时出现在客户端或服务器端,以找出它的位置。

(typeof Window === "function" && window.document ) && true

注意window的大小写版本的使用

示例:

在 nodeJS 中

(typeof Window === "function" && window.document ) && true
//false

在 Chrome 中

(typeof Window === "function" && window.document ) && true
//true

答案 3 :(得分:0)

当整个文档完全在服务器上生成时,网页是服务器端呈现(SSR)。当请求到来时,服务器将首先生成整个文档,然后将整个网页响应给客户端。客户端计算机中的浏览器仅扮演显示该文档的角色,而无需进行任何计算。

该网页是客户端渲染的过程,是借助Javascript语言在客户端上执行文档生成过程的过程,该网页上的任何更改都可以通过向服务器发送AJAX调用来接收原始数据来执行,然后使用这些数据更新网页的一部分

答案 4 :(得分:0)

您可以调试JavaScript文件并检查其是否为任何正在加载的Ajax调用

答案 5 :(得分:0)

穷人的SSR检查: 保存页面(ctrl + s),然后尝试在没有Internet连接的情况下访问文件。

答案 6 :(得分:0)

转到网页的源代码,如果您还在源代码中看到获取的内容,则它是服务器端呈现的,并且如果您只看到html样板而不是客户端呈现的。

答案 7 :(得分:0)

在devtools中检查XHR响应。如果您可以在服务器上呈现的响应==网站中看到实际数据。

答案 8 :(得分:0)

一键检查: 下载名为JSoff的chrome扩展程序或类似的扩展程序,该扩展程序会关闭页面上的javascript。

将其关闭时,您将看到不使用客户端JavaScript呈现的代码。如果显示需要启用javascript才能查看此页面,则表明它不使用SSR。

很多时候,您会遇到{{1}}标签,使用CSS3和HTML5在不使用javascript的情况下呈现页面(以支持非javascript浏览器),而不是要求在google.com上启用javascript

答案 9 :(得分:-3)

为区分服务器/客户端呈现,请尝试单击页面上的链接。如果有页面重新加载打开新页面,那么它必须在服务器端呈现。但是,如果在不重新加载页面的情况下立即显示了任何内容,则必须在客户端进行呈现。如果只是单个页面的Web /应用程序,您将无法通过某种方式进行检查。