SSR 在禁用 JavaScript 时不起作用



在这里引用此票证:https://github.com/zeit/next.js/issues/4210我目前想知道为什么当您禁用 javascript 时,使用中继现代和 NextJS 的大部分内容都不起作用。

我最初的猜测是,由于NextJS是一个用于服务器端渲染的React库,如果在chrome中禁用JavaScript,那么显然React不起作用。但是,NextJS是服务器端渲染,因此在客户端禁用javascript应该不是问题吗?因此,为什么仍然会出现此问题?

在现代 SSR 方案中,就像在同构应用程序中一样,只有第一次渲染由服务器完成,该服务器返回纯html内容以及将用于后续渲染的js内容。

如果浏览器禁用了javascript,您应该只看到第一个渲染为静态页面,因为解释器所做的是显示纯html内容,但是您不应该能够与页面交互(这将需要启用js)

虽然@Karim的答案是正确的,但值得指出的是,如果使用"渐进式增强",从技术上讲,用户可以部分与页面交互。在这种情况下,您可以使用本机 HTML 功能来执行操作,例如导航到其他页面、表单提交等。这些不需要启用JS即可正常工作。根据您的目标受众,这可能比其价值更痛苦。

最新更新