gpt4 book ai didi

javascript - 使用基于 iframe url 的 javascript 更改 X-UA-Compatible 元标记

转载 作者:行者123 更新时间:2023-11-30 18:09:42 24 4
gpt4 key购买 nike

上下文:

我在一个大型网站上工作,该网站有一些旧控件会在较新的浏览器中损坏,因此我们不得不使用您的标准元 X-UA-Compatible 标记强制 IE7 文档模式。我们已经更换了大部分问题控件,但没有时间和预算来更换所有控件。我们希望没有控件的页面在 IE 浏览器的当前文档模式下呈现,以利用提供的客户端性能提升。问题是我无法让较新的 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;
}

最佳答案

要有效,加载页面时必须存在 X-UA-Compatible 元标记。等到 Javascript 运行时,再改变就太晚了。

如果您确实需要为 iframe 的内容打开和关闭 IE7 模式,最好的办法是保留两个版本的页面,使用不同的 X-UA-Compatible 标签,或者通过 URL 参数传递兼容性标志(例如,?mode=ie7?mode=edge)。

关于javascript - 使用基于 iframe url 的 javascript 更改 X-UA-Compatible 元标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14900084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com