Remix 仅在支持 ES 模块的浏览器中运行。
通常,团队在提出这个问题时会担心 IE11 的支持。请注意,微软本身已停止对其 Web 应用程序的此浏览器提供支持,您可能也应该这样做。
然而,由于对 渐进增强 的一流支持,Remix 应用程序可以支持像 Netscape 1.0 这样古老的浏览器!这是因为 Remix 构建在 Web 的基础上:HTML、HTTP 和浏览器行为。通过遵循 Remix 约定,您的应用程序可以在 IE11 的基线级别上工作,同时仍为现代浏览器提供高度交互的 SPA 体验。您无需花费太多精力即可实现这一点。
以下是它的工作原理。Remix 的 <Scripts/>
组件呈现如下的模块脚本标签
<script type="module" src="..." />
旧版浏览器会忽略它,因为它们不理解 type
,因此不会加载 JavaScript。链接、加载器、表单和操作仍然有效,因为它们构建在 HTML、HTTP 和浏览器行为的基础上。现代浏览器将加载脚本,从而提供增强的 SPA 行为,更快的过渡和增强的应用程序代码 UX。
Remix cookie 默认配置为 SameSite=Lax
,这是一种针对 CSRF 的平台内置保护。如果您需要支持不支持 SameSite=Lax
的旧版浏览器(IE11 或更旧的版本),则必须自己实现 CSRF 保护或使用实现它的库。