旧浏览器的Blazor后备版本

时间:2020-02-11 08:45:36

标签: blazor webassembly

对于上下文:我想在注册页面上创建一个简单的漫游器检测机制(captcha)。因此,我决定使用一个带有小型Blazor客户端应用程序的iframe,该应用程序仅显示一个复选框并执行一些C#操作(将一个变量加一个盐)。由于已将其编译为wasm,因此很难绕开它。我意识到这并非不可能,但是对于一个小型网站而言,这已经足够了。它比不必键入某些内容更加人性化,并且不依赖于Google的Recaptcha之类的第三方工具。

但是很明显,这在较旧的浏览器上不起作用。我可以为这些浏览器显示替代的验证码,但是Blazor文档在浏览器支持方面不是很有帮助(它们只是说“最新”)。

是否可以确定浏览器是否能够正确处理Blazor?

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

我要补充一点,现在使用Blazor进行此操作是一个沉重的解决方案,新的Blazor项目的标准文件大约为2.4mb,这只是显示一个复选框而已。