IE10 でクラッシュして変更できない古い JavaScript コードがいくつかあります(他のスクリプト ファイルは変更できます)。
クラッシュするコードは次のとおりです。
if(isInternetExplorer && this.domElement.filters[0])
this.domElement.filters[0].play()
DOM 要素に非標準のプロパティ「filters」があるため、このコードは ie8/9 でクラッシュしません。
これは、 filters プロパティのドキュメントです。
私が考えることができる唯一の解決策は、HtmlElement のプロトタイプを変更することですが、それが実際に可能であるとは思えません。
DomObject.filters プロパティを使用しようとしたときに IE10 がクラッシュしないようにするにはどうすればよいでしょうか?
[編集] 「解決策」を見つけました。これも@JAMのソリューションです。:
if (!HTMLDivElement.filters) {
HTMLDivElement.prototype.filters = [];
}
しかし、ブラウザーのネイティブ オブジェクトのプロトタイプを変更することについては、まだ気の毒に思います。