【问题标题】:Altering X-UA-Compatible Meta Tag using jQuery使用 jQuery 更改 X-UA 兼容的元标记
【发布时间】:2012-06-27 07:27:01
【问题描述】:

是否可以使用 jQuery 更改 X-UA-Compatible 元标记?我目前正在处理将通过 iFrame 嵌入到另一个页面的页面。父文档当前将 X-UA-Compatible 标记设置为 Edge,这完全破坏了我的框架。我希望以某种方式强制父文档重新加载页面但应用 IE8 标准。

我现在正在打电话

$("meta[name=X-UA-Compatible]", top.document).attr('content', 'IE=8'); 

这不起作用。我开始认为这根本不可能,因为即使在我正在处理的框架内,我也无法以显着改变 IE9 解析它的方式来更改此属性。

我正在查看此图表:http://i.stack.imgur.com/e5gPv.png,看来我只能将框架切换到 Quirks 或 IE9,这非常不方便。有没有人有任何想法?也许有一个我根本没有看到的 ajax 解决方案..

【问题讨论】:

    标签: jquery internet-explorer internet-explorer-8 internet-explorer-9


    【解决方案1】:

    所以我终于想通了,如果您需要重新加载框架,这是需要放置在框架 HTML 中的代码..

    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    if($('meta[http-equiv=X-UA-Compatible]', top.document).attr('content')!='IE=8') 
    {
    //alert('adjusting IE compatibility');
    $('meta[http-equiv="X-UA-Compatible"]', top.document).attr('content', 'IE=8');
    $('meta[http-equiv="X-UA-Compatible"]').attr('content', 'IE=8');
    $('#FRAMEID',window.parent.document).attr('src',$('#FRAMEID',window.parent.document).attr('src'));
    }
    </script>
    

    它仍在进行测试以确认解析器是否合法更改,但目前这是我们获得的最佳快速修复。

    【讨论】:

      【解决方案2】:

      在您的代码行中,您在“[name=X-UA-Compatible”之后缺少一个括号。
      会不会是这个问题?

      另外,你对首页的代码没有控制权,是否在同一个域中?

      【讨论】:

      • 不,这不是问题,尽管我很感激大家的关注。我的实际代码格式更正确。它是同一个域,但我们无法直接控制首页上的代码。另外, $('meta[name=X-UA-Compatible]').attr('content', 'IE=8');也不起作用,即使在框架本身之外。我开始认为,一旦 IE 处理了 DOM,宇宙中再多的 javascript 也不会改变文档模式......
      • 这实际上很有可能,因为 IE 在 quirks 模式下运行时实际上使用了完全不同的 JS 实现。您是否尝试过更改 document.doctype? (IIRC,你可以通过doctype改变IE模式,而不仅仅是metatag)
      • 没关系...这是一个只读属性。不过,从我所读的内容来看,IE 将 iframe 与父级完全分开呈现,因此您应该能够在 iframe 中设置元标记。
      • 应该是关键字。感谢您宝贵的时间。我开始认为元数据正在被更改,但事后无关紧要(一旦加载标题)..
      • 确实如此。呵呵,对不起,我帮不上忙。如果没有别的,也许你可以让控制首页的人添加添加UA兼容元标记的服务器端代码,如果有一个GET参数fromiframe = 1,然后强制首页重新加载该参数在你的 JS 中。有点不显眼。
      猜你喜欢
      • 2012-06-01
      • 2017-11-01
      • 2011-10-08
      • 2016-02-07
      • 2012-09-01
      • 2014-09-14
      • 2015-08-11
      • 2013-03-04
      • 2012-07-10
      相关资源
      最近更新 更多