私はknockoutjsアプリを持っています。ブラウザはSignalRを介してメッセージを受信し、Knockoutjsによってレンダリングされます。KnockoutjsがEdgeの最新バージョンで更新しない
Microsoft Edgeでアプリケーションを実行すると、他のフィールドが更新されている画面では、同じフィールドが更新されません。これは常に一度更新された同じフィールドであり、その後再び更新されません。 DOMを調べると、これが変更されていることがわかります。消去法の多くの後、私は実際には問題は、私は一緒にあなたがして実行することができ、このバグの小さなデモを入れているCSS
html { text-transform: uppercase; }
の1行に起因すると思われること
を発見しましたChrome/FF/IE9/IE10とEdgeの比較スタイルを適用してEdgeでコードを実行し、コメントアウトして値の更新を確認します。
http://jsbin.com/baqozusuge/edit?html,css,js,console,output
githubの上のコードへのリンクhttps://gist.github.com/anonymous/de7610c341e6ee737d8290eb608afb57
誰でも一体これで何が起こっているか任意のアイデアを! Microsoft Edgeは、現在表示されている値の類似性に基づいてディスプレイをキャッシュすることを決定しているようです。
これは間違いなく特有の問題です。 Edgeは完璧ではありません。本当に再描画問題のようです.cldの各プロパティにMath.random()を追加すると、毎回更新されますが、ko valueHasMutated()を呼び出すことさえ助けになりません。また、間隔が常にランダム値を更新するとは限らないことに気付きました。 HTML上のテキスト変換がなぜそれを修正するのかわかりません;( – kasperoo
ええ、それは大文字に変換されたテキストのためですが、Edgeは値を比較して再描画する必要があるかどうかを判断しています。 –