0

我有一个使用 JSP、JavaScript、jQuery 和 css 构建的相当复杂的页面。它在 Chrome、Firefox 和 IE10 中运行良好。但是,它在 IE8 中不起作用 - 特定于该特定页面的 JavaScript 无法加载,HTML 被破坏,一些 css 被加载,但不是全部。

通过 AJAX 调用调用的页面:

jQuery.ajax({
            url : url,
            dataType: "html",
            cache : false,
            beforeSend : ...

在开发者工具中捕获网络活动显示相关脚本文件已开始到达,但仅收到 155B-157B。结果码为304,时间显示为1ms以下。Chrome 的相同报告显示相同的 JS 文件大小为 3-7-12KB,需要 3-10 毫秒才能到达,HTTP 代码为 200。

通过常规 GET 请求请求的同一页面正常加载。该问题看起来像是IE8 中已知的激进缓存问题,但不知何故设置cache : false并不能阻止 304 的发生。

我怎样才能使这项工作?

使用 jQuery 版本 1.4.2,在 Win7 上使用 IE8。tc 开发者服务器 2.8.2。

4

1 回答 1

0

通过 AJAX 调用检索的其中一个 JavaScript 文件包含此方法以及其他代码:

    jQuery(document).ready(function() {
    return validate...();
}

IE8 无法处理它,并丢弃了所有周围的 JavaScript。

我删除了上面的行,并将验证方法移动到在 Complete: 上调用的函数中,该 AJAX 调用,一切都开始工作了。

于 2013-12-12T21:55:12.420 回答