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 防护或使用实现它的库。