问题描述
我的项目需要一个颜色和时间选择器。为了实现这一点,我使用了“颜色”和“时间”类型的 HTML 标记“输入”。
<div>
Color: <input type="color" />
</div>
<div>
Time: <input type="time" />
</div>
在我的 Windows 机器上,这运行良好。 Working input on Windows
在 Android 上,输入控件也正确呈现:Working input on Android
如果我在 iPhone 上打开网站,输入控件没有正确呈现:Not working input on IOS 设备相关颜色或时间选择器将不会打开。我也用其他浏览器试过,但结果相同。 如果 _Hosts.cshtml 中的渲染模式从“ServerPrerendered”更改为“Static”,它似乎可以工作。使用此设置,输入控件呈现正确,但 NavMenu 不工作。
出于测试目的,我创建了一个 Blazor 客户端项目(Blazor WebAssembly 应用程序)。同样的结果,控件呈现错误。
为什么使用“render-mode=Static”而不是“render-mode=ServerPrerendered”正确呈现控件? 是否可以让控件与“render-mode=ServerPrerendered”一起使用?
编辑:
在“_Hosts.cshtml”中有一个 JavaScripte 文件链接
<script src="_framework/blazor.server.js"></script>
如果删除此行,则输入控件显示正确。 但是我不知道是什么原因导致了这个文件的问题。
解决方法
我猜这是 WebKit 的一个错误。这个链接可能有用 https://github.com/select2/select2/issues/4689