コンテクスト:
新しいブラウザで機能しない古いコントロールを備えた大規模なサイトで作業しているため、標準のメタX-UA互換タグを使用してIE7ドキュメントモードを強制する必要がありました。問題のあるコントロールのほとんどを交換しましたが、すべてを交換する時間と予算がありません。IEブラウザーが提供するクライアント側のパフォーマンスの向上を利用するために、現在のドキュメントモードでレンダリングするコントロールがないページが必要です。問題は、新しいブラウザ、つまりブラウザが希望どおりにモードを切り替えるのに問題があることです。サイトのナビゲーションは、おそらく私の主な問題だと思うiframeを使用しています。iframeの親ページにJavaScriptがあります。
私はjavascriptでこれを実行できるようにしたいと思っており、そうしようと試みてきました。これが私がしていることです。タグは正常に変更されますが、ブラウザは気にしないようです。ブラウザがタグを考慮するために何を変更する必要がありますか?
//tag swapping code
function FixIEMetaTag(url) {
//Remove current IE meta Tag
var iefixTagOld = document.getElementsByTagName('meta')[0];
if (iefixTagOld) { iefixTagOld.parentNode.removeChild(iefixTagOld); }
//Determine Document Type for IE browsers
var contentVal = 'IE=Edge';
if (IsPageWithBadGrid(url)) { contentVal = 'IE=7'; }
//Create and add new IE meta Tag
var iefixTag = document.createElement('meta');
iefixTag.setAttribute("http-equiv", "X-UA-Compatible");
iefixTag.setAttribute("content", contentVal);
var theHead = document.getElementsByTagName('head')[0];
theHead.insertBefore(iefixTag, theHead.firstChild);
}
//navigation code
function GoToPage(url) {
if (window.frames["ifrm"]) {
FixIEMetaTag(url);
window.open(url,"ifrm");
return false;
}
return true;
}