IE 7和8,可能有6个网站问题

时间:2012-05-08 15:09:12

标签: internet-explorer internet-explorer-8 internet-explorer-7 internet-explorer-6

我本周末为我的客户推出了一个网站。它在Firefox,Chrome,Opera,Safari和IE 9中看起来很不错。

然而,IE 7和8(也许6个)给了我真正的问题。主页很好,但辅助页面有不同的主题布局。

我编辑了二十一个Wordpress主题。我有一台Mac,所以我很难测试IE,因为它是一个Windows浏览器。我有一台安装了IE 8的XP笔记本电脑。这就是我知道它搞砸了。辅助页面非常糟糕。

我的主要内容,左侧栏和页脚都是错位的。我尝试了几件事来解决问题。我研究了黑客并尝试了它们但无济于事。

我尝试更改我的图片上的定位但它只是使页面看起来比现在更糟糕。我真的很难过。

如果有人可以帮助或引导我朝着正确的方向前进,那将非常感谢。网址为www.jubileecf.com。 谢谢,    〜〜灰分

1 个答案:

答案 0 :(得分:1)

问题在您的代码中可见:

<script>(function fix_ie8() {if (strpos($_SERVER['HTTP_USER_AGENT'],”MSIE 8″)) {header(”X-UA-Compatible: IE=7″);}}

ADD_ACTION(” send_headers’,” fix_ie8‘ ))();

这在几个方面都是错误的。

  • 首先,它使用了错误的引号字符。

  • 其次,你有PHP代码试图成为Javascript。

  • 第三,即使您将其更改回PHP,仍需要移动它,因为header()只能在输出页面的任何部分之前调用。所以它需要在你开始之前完成,而不是在标题的中间。

  • 最后,这会严重破坏网站的原因是因为它导致Javascript解释器看到错误,并停止处理。因此,您所包含的html5.js文件中的IE修复程序将无法运行,因此您的页面布局将被破坏。

简而言之,这行代码需要被锁定,而不再被提及。

因此,让我们挑选一下这里发生的事情并尝试寻找解决方案......

代码正在尝试使用X-UA-Compatible标头强制IE8进入IE7兼容模式。我要说的是,既然你说自己从未在IE中测试过,为什么你认为你还需要使用IE7兼容模式呢?

为什么不在没有那行代码的情况下尝试它,看看会发生什么?如果你在IE8中确实有一些小的布局故障,那么最好修复它们而不是使用兼容模式。

如果您必须使用IE7兼容模式,那么您可以使用它而无需任何类型的脚本。只需使用元标记:

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

这就是你所需要的一切。

如果您希望标签仅影响IE8(即不是IE9),那么您可以将其包装在IE条件注释中(您已经在页面的其他地方使用过)。