【问题标题】:Images are not showing up in IE 8 or IE 9 for some reason由于某种原因,图像未在 IE 8 或 IE 9 中显示
【发布时间】:2015-02-18 17:51:06
【问题描述】:

我的网站只是显示一个主图像,其下方有一个图像滑块。这些图像不会出现在 IE 8 或 IE9 中,但会开始出现在 IE10 中。

画廊的 HTML 很简单:

<div class="fotorama"
     data-nav="thumbs"  
     data-width="100%"
     data-ratio="800/600"
     data-minwidth="350"
     data-maxwidth="700"
     data-minheight="300"
     data-maxheight="100%"
     margin-top= -5%;>
<img src="http://www.pampangahouses.com/wp-content/uploads/2012/08/leighton-front-view.jpg">
<img src="http://www.pampangahouses.com/wp-content/uploads/2012/08/leighton-front-view.jpg">
<img src="http://www.pampangahouses.com/wp-content/uploads/2012/08/leighton-front-view.jpg">
<img src="http://www.pampangahouses.com/wp-content/uploads/2012/08/leighton-front-view.jpg">
<img src="http://www.pampangahouses.com/wp-content/uploads/2012/08/leighton-front-view.jpg">

</div>

以下是在 IE8/IE9 中未显示的图片截图:

它在 IE10 中:

“fotorama”的 css 在这里:

http://testsite24.netai.net/public/css/fotorama.css

这里还有js代码:

http://testsite24.netai.net/public/js/fotorama.js

如果 IE8/9 不支持此处的必要功能,您能否为这些版本推荐一个备用解决方案?非常感谢!

完整的演示站点:http://testsite24.netai.net/public/demo6.html

【问题讨论】:

  • 检查浏览器控制台是否有任何 JS 错误..
  • 为什么将margin-top= -5%; 设置为属性?这是一个 CSS 规则,而不是一个有效的 HTML 属性。它要么需要以.fotorama { margin-top: -5%; } 的形式存在于CSS 文件(链接到您的HTML 页面)中,要么以style="margin-top: -5%;" 的形式存在于div 的内联style 属性中。 IE 在遇到奇怪的标记时会做出奇怪的事情而臭名昭著。还要确保将&lt;!DOCTYPE html&gt; 作为 HTML 中的第一件事。
  • 感谢我完全删除了 margin-top,并确保 位于顶部。结果没变,IE8/9还是不会在这里显示照片:jasoncampbell.net46.net/details2.html

标签: javascript jquery html css internet-explorer


【解决方案1】:

您的显示器由 fotorama.js 脚本提供支持,该脚本在 IE8 和 IE9 中存在错误,因此无法正常工作。

此脚本使用 Javascript 控制台(在第 1296 行至少一次)。在 IE8 和 IE9 中,只有在开发者工具处于活动状态时才会创建 Javascript 控制台。

编辑基于 cmets:

如果本机不存在虚拟控制台,则一种可行的方法是创建一个虚拟控制台,例如:

<script>
if (!window.console) {
    window.console = {
        log: function() {}
    };
}
</script>

现在,如果有人执行 console.log(something),它不会导致错误。

【讨论】:

  • 那么是否可以通过“polyfill”破解来消除异常? if (!window.console) { window.console = {log: function(){};}} ...等?
  • 这当然值得一试。它会处理开发人员工具不存在的情况。
  • 谢谢鲍勃,但我不知道如何解决这个问题。上面的 kcrumley 提到了一个 polyfill hack,但我希望得到一些指导/提示来解决这个问题!一个总新手,感觉有点不知所措。谢谢
  • 根据@kcrumley 的建议添加到答案中。
  • 有效!非常感谢 bobdye 和 kcrumley 的相互支持。非常感谢大家,保重。
【解决方案2】:

在IE8模式下使用IE11的Dev Tools,popunder.js报错,是由“Hosting24 Analytics Code”添加到文档中的:

<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->

但是页面仍然正确呈现。我无法轻松访问实际的 IE8 或 9。您可以删除该脚本吗?还是托管公司自动强制进入?该问题可能 100% 是由免费托管引起的。您是否可以访问可以对其进行测试的其他服务器?无论如何,您发布的 HTML 没有任何问题*,看起来 Fotorama 试图支持 jQuery 1.x 支持的所有浏览器,因此 Fotorama 似乎不是问题所在,尽管那将是下一个我要去的地方。

*编辑:除了上面评论中提到的“margin-top”,如 ajp15243。当然值得删除它以查看 IE8 和 9 问题是否消失。

【讨论】:

  • 感谢您的提示,我设法在付费托管帐户上进行了设置以进行测试,但在 IE8/9 中仍然看不到任何图像。当然,我只使用虚拟化软件在 IE 8/9 中查看它们,所以也许在真正的浏览器上它会起作用?无论哪种方式,感谢进一步的意见!
猜你喜欢
  • 2012-06-20
  • 1970-01-01
  • 2015-08-16
  • 2020-03-21
  • 1970-01-01
  • 1970-01-01
  • 2016-05-28
  • 2016-01-04
  • 1970-01-01
相关资源
最近更新 更多