zishu's blog

zishu's blog

一个热爱生活的博主。https://zishu.me

IE10下、`,`符号は空白を留めることができません。

$("#test").click(function () {
    $('html,body').animate({ 'scrollTop''0' }, 500,)
})

この行のコードは jQuery の書き方を使用しており、500 ミリ秒のアニメーションです。このように書くと Chrome ブラウザなどでは問題なく正常に動作します。

しかし、今日はプロジェクトの過程で、コードを IE10 に対応させる必要があり、仕方なく IE ブラウザで実行したところ、この行のコードがエラーを出すことに気付きました。これはどういうことなのでしょうか?

簡単に分析すると、これは js のタイマーの書き方に似ています。setTimeout には 2 つのパラメータがあり、それぞれ指定された時間とタイマーの時間を表します。

animate はアニメーションのプロパティで、この時間は合計で 500 ミリ秒かかって実行されます。しかし、これが重要な点ではありません。なぜエラーが出るのでしょうか?

その時、私は 500 の後ろにある,に気付きました。突然、ある可能性を思いつき、まず,を削除しました。すると、予想通り、コンソールはエラーを出さなくなりました。

私は、これは IE のメカニズムによって引き起こされていると推測します。ブラウザが,を認識すると、自動的に後ろに文が続くことを前提としますが、空白のままにするとブラウザの期待とは異なる結果になり、エラーが発生します。おそらく IE のエンジンは要求が厳しいのでしょう。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。