为什么我的页面在IE9的IE7模式下工作,而在IE7本身却没有?

Ker*_*ick 24 html javascript css jquery internet-explorer-7

我最近去我们的新主页生活,以后的各IE9中的浏览器和文档模式大量测试它(只是兼容模式,但实际的IE7和IE8仿真).该网站适用于每种模式,更不用说现代浏览器了.然而,在它发布后,我收到一封电子邮件,说该网站在IE7中非常破碎.我去了一台废弃的机器并启动了Windows XP,启动了IE7并加载了该页面.令我惊恐的是,布局确实破了!(不只是幻灯片!)

最重要的是,为什么我的页面在IE7中不起作用,即使它在IE9中的IE7模式下工作?作为第二个问题,它可能是"错误的"?

编辑:我已经发现我的一个问题可能是幻灯片,但添加.ie7 #slideshow {display:none !important}甚至不会隐藏幻灯片.我无法通过CSS访问它.

编辑2:还有另一个问题只出现在原生IE7中 - 该主页上的页脚和此页面是无法缩放的超小文本.它不能在IE9的IE7模式(不兼容)或任何其他浏览器中执行此操作.另一个例子就是差异.

Spu*_*ley 25

我不知道IE9的IE7兼容模式,但IE8内置的IE7兼容模式众所周知,因为它不是真正的IE7的完美副本.它有大量的bug和怪癖,它们不会出现在正常的IE7中.

这是非常糟糕的,我永远不会建议任何人实际使用兼容模式来测试他们的网站...除了你仍然需要应对实际上在他们的实时浏览器上使用兼容模式的偶尔用户.因此,MS并没有为开发人员提供更多便利,而是通过添加另一个可能的渲染引擎来实现对我们来说更难的事情.叹.

我还没有尝试过IE9的兼容模式,但是如果你的经验是可以接受的,那么他们仍然会遇到同样的问题.MS没有从第一次犯错误中吸取教训,这是一种耻辱(但并不奇怪).

我不知道使用兼容模式进行测试,我知道的最佳解决方案是使用名为IE Tester的应用程序,它允许您同时安装和运行所有版本的IE.它仍然不是完美的(你已经发现,唯一可以完美的方法就是拥有一个真正的IE7自己的真实副本),但它比IE自己更接近真实的东西.兼容性模式.

  • IE Tester是一个很棒的工具.我像疯了一样使用它. (4认同)
  • @Kerrick,现在你已经宣布原来的问题/问题尚未解决或未得到答复至少两次.又怎么样了?为什么您的页面在IE 7中看起来与运行IE 7模式的IE 9不同?你在寻找什么样的答案?这里有很多人试图告诉你,这些实际上是两个不同的程序......每个程序都会有自己的怪癖.至于你的其他两个问题......通过[W3C Validator](http://validator.w3.org)运行你的代码并为初学者解决这些问题. (3认同)

Ted*_*ddy 7

我建议使用HTML5BoilerPlate(http://html5boilerplate.com/)作为灵感和指导的来源.我处于完全相同的情况:一个大学的Web开发人员,必须写一个主站点重新设计.

我想你已经根据你的来源做了这个.你使用的是最新版本吗?也许HTML5BoilerPlate模板有一些更新可以解决这个问题.

我发现安装了真正的IE7的同事,果然,你的页面看起来很糟糕.然后我在真正的IE7中检查了我的模型,它看起来很好(我认为我现在非常幸运).

我的模型也基于HTML5BoilerPlate模板.

另一个建议是尝试注释掉代码块并尝试找出问题的原因.

我认为你幻灯片是问题的原因(或至少是症状).我不得不使用3种不同的插件重新实现我的幻灯片内容.目前,我已经为这种内容确定了jQuery循环插件:http://jquery.malsup.com/cycle/

我也非常想知道问题的原因.顺便说一句,该网站看起来很棒,当它呈现它看起来的方式.做得好!


查看此MSDN博客文章:http://blogs.msdn.com/b/ie/archive/2009/03/12/site-compatibility-and-ie8.aspx


Gab*_*oli 6

问题似乎与幻灯片显示有关

浏览你的script.js文件,我看到了这一点

/*
 * Here is the slideshow code.
 */

 // Screw ie7...
if ( !($.browser.msie && $.browser.version <= 7.0) ){
Run Code Online (Sandbox Code Playgroud)

所以我会在那里开始我的搜索,因为它似乎忽略IE7及以下..

  • 呵呵.大概幻灯片是一个第三方脚本?如果它听起来如此,我猜你将不得不寻找另一种脚本.(请注意,作者确实在评论中提出了一个很好的观点!) (12认同)

Spa*_*rky 6

下载包含IE 7,8等的免费Microsoft Virtual PC和MS 免费硬盘图像 ...这就是他们提供这些图像的原因.

似乎有一百万个jQuery幻灯片插件,大多数都与IE 7兼容.

jCarousel是一个,你可以用CSS改变它看起来像你现在拥有的.

此页面包含42种各种幻灯片插件.


编辑:

我还建议在解决其他问题之前将该页面纳入W3C合规性.