【问题标题】:Blazor fallback for older browsers旧浏览器的 Blazor 回退
【发布时间】:2020-02-11 08:45:36
【问题描述】:

对于上下文:我想在注册页面上创建一个简单的机器人检测机制(验证码)。所以我决定有一个带有小型 Blazor 客户端应用程序的 iframe,它只显示一个复选框并执行一些 C# 操作(使用盐散列变量)。由于它被编译为 wasm,因此很难绕过。我意识到这并非不可能,但对于一个小网站来说应该绰绰有余。它比必须输入内容更加用户友好,并且不依赖于 google 的 recaptcha 等 3rd 方工具。

但显然,这不适用于旧版浏览器。我可以为这些浏览器展示一个替代验证码,但 Blazor 文档在浏览器支持方面并不是很有帮助(他们只是说“最新”)。

有没有办法确定浏览器是否能够正确处理 Blazor?

仅检测浏览器是否支持 WebAssembly 就足够了吗?还是 Blazor 有其他要求?

谢谢!

【问题讨论】:

    标签: blazor webassembly


    【解决方案1】:

    您的 C# 代码都没有被编译为 WebAssembly。只有 Mono 运行时被编译为 WebAssembly,然后它直接在浏览器中加载和运行您的应用程序 DLL。只是想先把它弄清楚。

    回答您关于浏览器兼容性的问题。您可以通过 CanIUse.com 网站 (https://caniuse.com/#search=webassembly) 查看哪些浏览器支持 WebAssembly。

    我只想补充一点,现在使用 Blazor 是一个相当繁重的解决方案,标准文件 > 新 Blazor 项目大约为 2.4mb,这对于显示一个复选框来说是相当多的。

    【讨论】:

    • 感谢您的回答。好像我有点困惑......但是 DLL 仍然不像 javascript 那样可读,所以它们仍然可以用于相同的目的。是的,文件大小是一个问题。这可能有点离题,但您知道另一种技术可以做到这一点,而且占用空间更小吗?
    • 只有必要的框架文件占用了 2.4 mb。并且只需要下载一次,直到框架的新版本出来。因此,一旦浏览器下载了这些文件(可能来自另一个 blazor 网站),那么您的网站就不需要下载了。
    猜你喜欢
    • 2017-10-31
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多