【问题标题】:Page does not load properly in IE9页面在 IE9 中无法正确加载
【发布时间】:2011-11-20 23:08:47
【问题描述】:

我的主页在所有浏览器中都能正常工作,但部分页面无法加载的 IE9 除外。在我的页面上的主图像下方,我有 6 个带有一些动画等的框。IE 9 不显示这些框,我不明白为什么。有什么想法吗?

注意 - 我无法在 IE 9 中对此进行测试(我使用的是 Windows XP)我已将此报告给我并通过几个人进行了验证)

代码如下:

JAVASCRIPT

var $j = jQuery.noConflict();

$j(document).ready(function(){
Engine.Initialize();
if( !$j('body').hasClass('index') && !$j('body').hasClass('homepage') ) {
}
});

var Engine = {

Initialize: function() {
    Engine.Homepage_Animation();
},

Homepage_Animation: function() {
    if( !$j.browser.msie ) {
        $j('#homepage-main-item img').hide().fadeIn(700, function(){
            $j(this).css('display', 'block');

            $j('#homepage-boxes .boxes').each(function(i) {
                $j(this).delay(100 * i).animate({
                    opacity: 1
                }, 300);
            });
        });

    } else {
        $j('#homepage-main-item img').css('display', 'block');
        $j('#homepage-boxes .boxes').css('opacity', 1);
    }
}

}

HTML

(下面的HTML代码仅用于1个盒子。要查看完整代码,请单击下面的链接)

<div class="boxes-content">
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
      </div>

请注意,此代码不是我创建的,是朋友为我创建的,但他没有回复。

【问题讨论】:

  • 你能添加一个'alert("test1");'在 '$j('#homepage-main-item img').css('display', 'block');' 之前的 else { } 内以确保它在 IE 中达到该点。我们可以从那里去
  • @Chris - 我添加了,但我不想离开那里,因为这是我的生产站点,我也无法在 IE 9 中测试它,因为我使用的是 Windows XP(我将此添加到我的问题中)
  • 您可以将站点复制到本地驱动器吗?否则将很难进行测试。目前我建议您删除“警报”功能。
  • 使用VirtualPC设置虚拟机,有几张图片可用于测试不同IE的网站microsoft.com/download/en/details.aspx?id=11575
  • 尝试用这个替换你的 jQuery:ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js

标签: javascript jquery html internet-explorer internet-explorer-9


【解决方案1】:

导致问题的错误是 IE9 中的getElementsByTagName,我认为您使用的 jquery 版本已过时 1.5。它现在可以在 IE9 中运行,因此添加最新版本似乎可以解决它。

【讨论】:

  • 抱歉,这是因为getElementsByTagName 而不是getAllElementsByClassName....截图:i.stack.imgur.com/GtA0C.gif
  • @sally 哎呀,我必须瞥一眼它并在脑海中切换它。我会改的。