【发布时间】:2013-08-17 16:00:45
【问题描述】:
我编写了一个 jQuery 脚本,它可以在 Chrome、Firefox 和 Opera 中运行,但不能在 Internet Explorer 9 中运行。
基本上,使用 ajax 在后台加载的图像应该淡入淡出并随着其他图像上传到同一文件夹中而动态替换。在 Internet Explorer 中,脚本无法正常工作,并且图像未加载。
我尝试使用 firebug 和 IE 开发工具栏进行调试,但我有点缺乏经验。
你能帮帮我吗?谢谢!
jQuery 代码
$(window).load(function () {
var data;
$('.nascosto').hide();
$('.ciccio').hide();
$.ajax({
type: "GET",
url: "phpdelete.php",
success: function (data) {
$("<img/>").attr("src", data).load(function () {
$(this).remove();
});
}
});
setInterval(prova, 1000);
function prova() {
$.ajax({
type: "GET",
url: "phpdelete.php",
success: function (data2) {
if (data2 != data) {
$('.ciccio').fadeOut(2000, function () {
$("<img/>").attr("src", data2).load(function () {
$(this).remove();
$('.ciccio').css('background-image', 'url(' + data2 + ')').delay(500).fadeIn(2000);
data = data2;
});
});
}
}
});
}
});
【问题讨论】:
-
请提供小提琴。
-
您需要以某种方式对其进行调试并找出首先出现问题的原因。
-
下次你真的应该缩进你的代码。它绝对在调试方面很有帮助。 (我刚刚使用 jsFiddle TidyUp 清理了它。)
-
我知道我需要调试,问题是我不知道它是如何完成的 :) 我尝试创建一个 jsfiddle (jsfiddle.net/4VD37),但在我的脚本中有一个 ajax 请求一个外部 php 页面,它在 JSFiddle 上不起作用......实际上是否可以向另一台服务器发出 ajax 请求?抱歉,我还在学习中!
-
.load(function) 自 1.8 以来已过时,您需要停止使用它(并在它们出现时阅读 jquery 发行说明以防止此类 oops 问题) .load 用于通过以下方式加载数据阿贾克斯:api.jquery.com/load-event
标签: jquery cross-browser internet-explorer-9