-1

我有一个使用 fancybox 2 youtube iframe 的页面——它在除 IE9 之外的所有浏览器中都能完美运行,并且无法弄清楚发生了什么。在 IE9 中,什么也没有发生 - 根本没有弹出或覆盖。IE8 和 IE7 工作正常,safari、chrome、firefox 都可以。

该页面以第一行的 doctype 开头 - 我应该检查 IE9 的其他内容吗?

谢谢!

4

1 回答 1

1

如果它在 IE7 和 IE8 中工作,我会检查是否在使用它们时,它们是否以兼容模式显示页面。如果不是,则很有可能 IE9 被强制进入兼容模式。您可以通过指定元标记来强制 IE 中的标准模式:

    <meta http-equiv="X-UA-Compatible" content="IE=edge" >

您还可以使用 JavaScript 来确定 IE 显示的模式:

    javascript:alert(document.documentMode);

    <script type="text/javascript">
    engine = null;
if (window.navigator.appName == "Microsoft Internet Explorer")
{
   // This is an IE browser. What mode is the engine in?
   if (document.documentMode) // IE8 or later
      engine = document.documentMode;
   else // IE 5-7
   {
      engine = 5; // Assume quirks mode unless proven otherwise
      if (document.compatMode)
      {
         if (document.compatMode == "CSS1Compat")
            engine = 7; // standards mode
      }
      // There is no test for IE6 standards mode because that mode  
      // was replaced by IE7 standards mode; there is no emulation.
   }
   // the engine variable now contains the document compatibility mode.
}
</script>

或者您可以强制 IE 显示为特定版本:

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >

Microsoft 有一篇很好的 MSDN 文章详细描述了这一点。http://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx

于 2012-09-07T18:50:34.673 回答