d3.js を使用して、イントラネット用のデータ視覚化ページを開発しています。このページは Internet Explorer でレンダリングする必要があります。イントラネット ページはすべて互換モードでレンダリングされるため、問題が発生します。これにより、 d3: のロード時に IE がエラーをスローしSCRIPT5009: CSSStyleDeclaration is undefined
、残りの d3 がロードされなくなります。
このページは、他の最新のブラウザーまたは標準モードの IE9 によってレンダリングされたときに意図したとおりに機能するため、quirks モードが問題であると思います。
その他の制限、および私が試したもののうまくいかないこと:
- このページは、私が制御できないテンプレート システム (IBM Cognos) によって提供されています。したがって、ヘッダーを変更できないため、設定
<meta http-equiv="X-UA-Compatible" content="IE=edge">
はオプションではありません。 - HTTP ヘッダーに同等のタグを設定することもできません。
<body>
ページの唯一の部分である にメタ タグを追加すると、IE はそれを無視します。- IE の F12 ツールは、ブラウザー自体は IE9 互換モードですが、ドキュメントの互換モードであると主張しています。ドキュメント モードを手動で変更すると、イントラネット サイトはページを再読み込みし、親ページに戻ります。理由がわかりません。
- 互換表示設定で「イントラネット サイトを互換表示で表示する」のチェックを外しても何も起こりません。
現時点では、これを解決する 2 つの方法を考えることができます。IE を強制的に標準モードでレンダリングするか、何らかの方法で d3.js を書き直して CSSStyleDeclaration を使用しないようにします。これにより、そもそもクラッシュが発生します。これらのいずれかを続行する方法がわかりません。