Knockout Js 未在最新版本的 Edge 上更新

Knockoutjs not updating on lastest version of Edge

我有一个 knockoutjs 应用程序,多年来一直 运行 顺利运行。浏览器通过 SignalR 接收消息,然后由 Knockoutjs 渲染。

现在,如果您 运行 Microsoft Edge 中的应用程序,相同的字段不会在屏幕上更新,而其他字段正在更新。总是相同的字段更新一次,然后再也不会更新。如果您检查 DOM,那么您可以看到它正在更改。

经过一番排查,我发现这个问题似乎是由css

的1行引起的
html { text-transform: uppercase; }

我整理了一个关于此错误的小演示,然后您可以在 Chrome/FF/IE9/IE10 与 Edge 中 运行。 运行 Edge 中应用样式的代码,然后将其注释掉以查看值更新。

http://jsbin.com/baqozusuge/edit?html,css,js,console,output

Link 在 github https://gist.github.com/anonymous/de7610c341e6ee737d8290eb608afb57

上编码

有人知道这到底是怎么回事吗?! Microsoft Edge 似乎决定根据当前显示值的相似性来缓存显示。

这正式是 Microsoft 的一个错误,因此无法通过代码 "fixed"。 https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7451374/