IE8 不显示图像(红色 x)...有时

2024-04-09

我对以下问题感到抓狂,这在任何其他浏览器(Chrome、Firefox)上都不会发生:

  • IE8缓存被清除
  • 浏览器启动时会打开 HTML/Javascript 页面,该页面会动态请求并创建一些图像。此 HTML 页面由 Tomcat 服务器 localhost:8084 提供。
  • 大多数情况下,IE 请求的 10 个图像中显示 RED X。
  • 开发人员图像报告 (F12) 显示某些图像“文件大小”为正确的 # 字节,但图像仍然未显示,或者某些图像文件大小“未知字节”且图像无法工作。
  • 有时 10 个图像中有 2-4 个显示出来,而其余的则失败!
  • 有时,在疯狂点击刷新 10 亿次后,图像就会出现。
  • 真正的问题是,当我在 HTTP 服务器中设置断点时,套接字甚至没有打开。 IE 在失败之前甚至没有尝试从服务器获取图像。
  • 最后,如果我运行相同的代码但从谷歌地图之类的地方请求图像,它可以在 IE 中正常工作。

这是我的 JavaScript 代码:

<script type="text/javascript">
    var ctr = 0;
    function getImage(url)
    {
        var img = document.createElement("img");
        img.src = url + "&nc=" + ctr;
        ctr ++;
        img.width = 128;
        img.height = 128;
        document.body.appendChild(img);
    }

    for (var i = 0; i < 10; i=i+1)
    {
        //THIS FAILS MOST OF THE TIME
        setTimeout("getImage('http://myHostName:9980/GenerateImageStatic?parameter=1')", 1000);
        //THIS WORKS! WHY?
        //setTimeout("getImage('http://maps.google.com:80/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap&markers=color:blue|label:S|40.702147,-74.015794&markers=color:green|label:G|40.711614,-74.012318&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false')", 1000);
    }
</script>

对于 HTTP 服务器,我使用 BOOST 示例 ASIO HTTP 服务器Link http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/examples.html#boost_asio.examples.http_server_3我修改了它,因此对于任何 URI 请求,它都会发送一个 png 文件(我尝试了各种文件以确保它不是不好的 PNG 编码)。 HTTP 标头的内容类型为:“image/png”。因此发送了正确的 mime 类型。

很长一段时间以来我一直在努力寻找解决方案。阅读各种帖子:

  • Mime 类型是问题 http://www.technologyquestions.com/technology/internet-explorer/374551-red-x-ie8-if-png-used.html。 Mime 类型对我来说不是问题。我设置了内容类型。我还使用 Firefox LiveHTTPHeader 插件来查看从服务器发送的标头。除了一些缓存控制标头之外,我的标头在内容类型方面与谷歌发送的相同:
  • 安全错误 https://stackoverflow.com/questions/1866046/png-images-display-in-ie8-alone-but-not-inside-a-page。好吧,也许跨域图像存在安全风险。或者有什么东西阻止了请求。那么为什么它不会 100% 失败呢?!为什么IE不请求跨域图片?然而,maps.google.com 请求有效,而我的请求仅有时有效。这同样适用于任何防火墙或防病毒软件。我还尝试在各种端口(80、8080、9980)上运行服务器。
  • JavaScript 错误 https://stackoverflow.com/questions/2233900/image-not-appearing-in-ie7-or-ie8。我认为Javascript是正确的。事实上,我在使用 GWT 时也遇到了同样的问题。所以我认为问题出在 GWT 上。 IE 和 GWT 存在与图像相关的事件错误。所以我将代码简化为 Javascript。没有 GWT。
  • 也许这是 C++ HTTP Server 实现。这是一种可能性。然而 Firefox 和 Chrome 使用相同的代码没有问题。

有任何想法吗? 谢谢。

EDIT我将 myHostName 添加到受信任的站点。我还将内部和互联网站点的安全设置降低到低水平。如果启用的话,我将尝试禁用服务器上的保活。然而,正如我提到的,我根本没有看到 IE 尝试获取图像。套接字不会收到来自 IE 的任何请求,因此从标头中删除 keep-alive 可能没有帮助。


检查您的图像处于什么颜色模式。

我不小心在 Photoshop 中将图像的颜色模式从 RGB8 切换为 CMYK,并遇到了同样的问题。 IE8 会无法显示图像,而 Firefox 则完全没有问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IE8 不显示图像(红色 x)...有时 的相关文章

随机推荐

  • PHP 对齐数组键值

    我在 Google 上搜索了两天 并尝试查看 PHP 手册 但我仍然不记得那个对齐 PHP 数组键值的函数 我正在寻找的只是需要这个的函数 Array 0 gt 1 3 gt 2 4 gt 3 7 gt 4 9 gt 5 并将其转换成这样
  • 查找早于 FILE 的文件而不包含 FILE

    我有一个计划要使用find给我一个比某些 FILE 更旧的文件列表 然后使用xargs or exec 将文件移动到其他地方 搬东西不是问题 xargs mv trash工作正常 现在 如果我尝试使用 newer FILE then FIL
  • Django 注销问题

    这是我在 Django 身份验证中遇到的问题 访问需要登录的页面 注销 访问 django contrib auth logout 访问原始登录保护页面 您仍处于登录状态 有什么想法如何解决这个问题吗 我的 Django 会话设置是 SES
  • Gradle 自定义插件:添加扩展对象的依赖项

    我正在尝试编写一个插件来添加依赖项project dependencies根据插件扩展对象中收集的信息 但这似乎是不可能的 事实上 来自扩展对象的数据仅在新任务或project afterEvaluate关闭 但在这些地方添加的依赖项将被忽
  • 如何更改图像中的像素

    我实际上尝试执行以下操作 我已在 bitmapdata 对象中加载了外部图像 并从中创建了一个位图 我将其附加到 sprite MovieClip 以便在其上包含鼠标事件 现在 根据前面的逻辑 我加载了两个相同大小的图像 比方说圆圈 其中一
  • 区分 gcc 诊断

    我在解释 gcc 4 8 2 警告和错误时遇到问题 更准确地说 很难判断一个问题从哪里结束 另一个问题从哪里开始 我只能通过控制台访问构建机器 因此不能选择使用 IDE 我真的需要能够快速区分各个问题 有没有办法让 GCC 在不同的诊断消息
  • 如何在 Visual Studio Code 的 Zen 模式下显示选项卡?

    In Visual Studio Code how to you keep tabs the tabs from hiding when you enter Zen mode Ctrl K Z 我自己回答这个问题 因为我不得不这样做几次 而
  • Java常量示例(创建仅包含常量的java文件)

    声明只有常量的 java 文件的最佳实践是什么 public interface DeclareConstants String constant Test OR public abstract class DeclareConstants
  • PHP中虚函数的正确实现?

    在我的工作场所 仅限 php 我们有一个数据库抽象的基类 当您想要将新的数据库表添加到基础层时 您必须创建该基类的子类并重写一些方法来定义使用该表的单独行为 正常行为应该保持不变 现在我在我们公司见过很多新程序员 他们只是重写默认行为的方法
  • 通过指针创建字符串

    我了解到指针指向内存地址 因此我可以使用它来更改该地址处设置的值 像这样 int pPointer iTuna pPointer这里有内存地址iTuna 所以我们可以使用pPointer改变值iTuna 如果我打印pPointer内存地址被
  • SQL Server 时区更改

    我在同一个 SQL Server 上有 2 个数据库 是否有可能一个在太平洋标准时间 另一个在东部标准时间 不 日期 时间源自运行 SQL Server 实例的计算机的操作系统 不过 您可以拥有一个自定义 UDF 您可以调用该 UDF 而不
  • 将准备好的语句与 JDBCTemplate 结合使用

    我正在使用 JDBC 模板 并希望使用准备好的语句从数据库中读取数据 我迭代 csv 文件中的多行 并在每一行上使用相应的值执行一些 SQL 选择查询 我想加快从数据库的读取速度 但我不知道如何让 JDBC 模板与准备好的语句一起使用 有的
  • 带有闪亮下载数据按钮的自定义 html

    我想知道如何使闪亮downloadHandler使用自定义 html UI In my index html我有以下内容 a class shiny download link shiny bound output export a 并且在
  • 当 AudioSessionActive 为 NO 时,无法通过硬件按钮控制 AVAudioPlayer 的音量

    我正在构建一个路线导航应用程序 可以播放周期性的简短声音片段 无论屏幕是否锁定 声音都应该播放 应该与其他音乐播放混合 并且应该在播放此音频时使其他音乐闪避 Apple 在 29 20 分钟的 WWDC 2010 session 412 i
  • WPF ComboBox DropDown 部分出现在错误的位置

    我在 XAML 窗口上放置了几个 ComboBox 当我展开其中任何一个时 下拉部分会出现在屏幕的左上角 我使用 Visual Studio 2008 C Express 我不记得当我使用Visual Studio 2008 试用版 时有这
  • 如何对密码进行哈希处理

    我想在手机上存储密码的哈希值 但我不知道该怎么做 我似乎只能找到加密方法 应该如何正确地对密码进行哈希处理 考虑到今天 2012 年 的最佳实践 这里的大多数其他答案都有些过时了 NET 中原生可用的最强大的密码哈希算法是 PBKDF2 由
  • 带空间的自动完成文本视图

    我有一个 Room 数据库并创建了一个模型和 viewModel 我想知道如何使自动完成文本视图与数据库数据和视图模型一起工作 以在用户输入时过滤客户列表 视图模型 class CustomerVM ViewModel private va
  • R Notebook HTML 格式 - 添加到分页表的超链接

    我希望从 R Notebook 编写一个 html 文件 其中包含带有超链接的分页表 可以使用插入超链接knitr kable 但我找不到生成的方法paged 由于我的问题似乎没有完美的解决方案 我想我应该发布我想出的解决方法 以防有人遇到
  • 代理服务器截断视图状态

    有什么方法可以模拟代理服务器截断视图状态吗 我通过将 ViewState 放在服务器端来完全避免使用 ViewState 客户端 该代码大约有 5 行长 我已经看到性能的巨大改进 http aspadvice com blogs rober
  • IE8 不显示图像(红色 x)...有时

    我对以下问题感到抓狂 这在任何其他浏览器 Chrome Firefox 上都不会发生 IE8缓存被清除 浏览器启动时会打开 HTML Javascript 页面 该页面会动态请求并创建一些图像 此 HTML 页面由 Tomcat 服务器 l