【发布时间】:2011-03-30 01:18:14
【问题描述】:
我敢肯定,这个标题会引起许多读者的“又来了……”的反应。道歉。我已经用谷歌搜索了这个问题并得到了电话簿。主要是关于 SSL,必须说。其他人则指出 IE 中糟糕的 JS 引擎。我发现的所有互联网咆哮都没有真正让我满意地回答这个问题。所以我想我会在这里发帖......
我正在构建一个 web 应用程序,主要是在 Firefox 中开发的(因为 Firebug),在 Opera、Chrome、Safari 和... IE 中进行了测试。大量的 jQuery,大量的 AJAX。 Web 服务器是 Win XP 上的 Apache。浏览器响应通常非常快(网络服务器在 LAN 上,什么都不做),除了 IE,它非常慢。
我的代码通常按照以下方式构建:
module1= function() {
// JS code backing html in div1
};
$div1.load("div1.html",function() {
module1();
});
也就是说,module1 的 JS 代码对于浏览器来说是从单词“go”中知道的,尽管我希望在所有浏览器中延迟编译这段代码,直到我实际调用 module1() 闭包,它只在后面成功加载()。因此,我可以很容易地相信,IE 中可能存在的慢速 JS 引擎会出现拖动(显示 div1)。不过……
我注意到的是,虽然 IE6 延迟加载我的 HTML sn-ps 和所有相关组件(主要是图像),但当我打开另一个浏览器(打发时间)并加载我的网站时,该浏览器将挂起,直到 IE 完成下载。也就是说,IE 完全为其他人破坏了我的 Apache 服务器。
这让我认为这主要不是一个慢速 JS 解释问题。事实上,Apache 和 IE 之间可能存在一些握手问题。我在 Apache 的日志中没有这方面的证据,因此我想我会问。
有人有什么想法吗? Apache 上是否存在(已知的)配置问题?
PS:我可能会补充一点,在这些长时间的延迟加载工作中,IE 的状态栏——我相信,这是一个不可靠的进度指示器——经常显示我的图标的 URL(即非常小的 .gif 和 .png 文件) .
【问题讨论】:
-
网络服务器是否在您加载网页的本地运行?
-
在 LAN 上,是的,不是在运行浏览器的客户端上。
-
你的用户实际使用IE6的比例是多少?我的意思是:这真的值得修复吗(知道这很可能是一个 IE6 问题,而您对此无能为力?)。
-
这是一个很好的问题。昨天当我注意到我的模态对话框被 SELECT 标记淹没在 IE6 中时,我被吓坏了,这是无数已知的 IE 问题中的另一个,我诅咒“就是这样 - 我将放弃对 IE6 的支持”。麻烦的是,当我研究这个问题时,事实证明 IE7 显然同样糟糕。坦率地说,如果由我决定,我会告诉每个用户获得一个像样的浏览器并将 IE 放入最近的位桶中。在现实生活中,我们都知道,每个没有思考的用户都有一个版本的 IE 或其他......
-
我也有点不相信这本身就是一个 IE 客户端问题,因为其他浏览器挂起的方式。我更担心 M$ 对 IE6/7/8 做了一些事情,在与 IIS 握手时可能会提供更好的结果,但会弄乱 Apache。这确实是我提出问题的主要原因。
标签: jquery apache internet-explorer internet-explorer-6