为了在我的应用程序中正确显示“加载”图像,我制作了以下脚本:
var spinnerVisible = false;
function ShowProgress() {
if (!spinnerVisible) {
$('div#layer').fadeIn("fast");
$('div#spinner').fadeIn("fast");
spinnerVisible = true;
var spinner = $('#spinner');
spinner.html('<span>Loading, please wait...</span><img src="/Content/ajax-loader.gif" width="250" height="250"/>').css('background', '#fff').show();
}
}
ajax-loader.gif
图片在Internet Explorer和Chrome中正常加载,但在Firefox中无法加载?
修改的
我已经获得了图片的网址,如下所示:
http://localhost:63779/Content/ajax-loader.gif
如果我在Firefox中复制粘贴网址,那么gif正在加载,但现在调用该函数时......?
编辑2
我不知道它是否相关,但我发现了这个:
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes&LT;
也许这与我的问题有关?
编辑3
好的,所以发生了一些奇怪的事情,我不太喜欢,但是这里有:
我第一次尝试过这个:
var element = document.getElementById('spinner');
element.setAttribute("'<span>Loading, please wait...</span><img src=\"/Content/ajax-loader.gif\" width=\"250\" height=\"250\" background=\"#fff\"/>')", element.innerHTML);
alert(document.getElementById("spinner").innerHTML);
当我在firefox中测试时,它给了我一个错误,说我的字符串中有非法字符。所以我把element.setAttribute
行放在评论中,我得到了适当的警告......
并且gif显示了!
但并非全部:有时它会播放,有时却不播放。我现在有些困惑,我不明白为什么。