我有一个动画gif,可以在所有浏览器中完美运行,除了(惊喜,惊喜)。经过多次搜索后,我发现gif没有动画,即由于选项中的设置:
设置 - >高级设置 - >多媒体 - >在网页上播放动画
有没有办法检测这是否已启用,因为我想显示其他内容而不是静态加载gif,还是有办法强制即播放动画?
如果有解决方法,这里是我用来显示我的加载程序的代码和我正在使用的gif的类型:
#loading {
background:url(http://preloaders.net/preloaders/712/Floating%20rays.gif) center center no-repeat;
position:fixed;
left:0;
right:0;
bottom:0;
top:0;
}

<div id="loading"></div>
&#13;
答案 0 :(得分:1)
您可以使用仅显示IE浏览器的主体的根类,然后在您的css中编写如下所示:
.rootclassname #loading {
background : //use static image here
}
答案 1 :(得分:0)
作为一种解决方法,我做了混合Prajwal和lonut的答案 - 在我的加载器中添加一个ie类然后我保存了动画gif的每个部分然后使用以下js给我一个动画加载器ie:< / p>
var ieLoadingCount = 1,
ieLoadingInt;
function addLoading() {
var loading = $('#paving-designer-loading');
if (loading.hasClass('ie')) { // only do this for ie
clearInterval(ieLoadingInt); // need to clear interval as this is a multi-step form and addLoading may be called multiple times
ieLoadingInt = setInterval(function () { animateIELoading(loading, true); }, 175); // preload images
}
}
function animateIELoading(loading, firstRun) {
loading.css('background-image', 'url(' + baseUrl + 'images/presentation/toolbox/pavingdesigner/loading/' + ieLoadingCount + '.png)');
if (ieLoadingCount == 12) { // loading gif had 12 parts in it
ieLoadingCount = 1;
if (firstRun) {
clearInterval(ieLoadingInt); // finish preload
ieLoadingInt = null;
}
} else {
ieLoadingCount++;
}
}
function showLoading(loading) {
if (loading.hasClass('ie')) {
clearInterval(ieLoadingInt);
ieLoadingInt = setInterval(function () { animateIELoading(loading, false); }, 175);
}
loading.show();
}
function hideLoading(loading) {
loading.hide();
if (loading.hasClass('ie')) {
clearInterval(ieLoadingInt);
}
}
如果有人能找到一种方法来检查动画是否被允许在第一位,我将保留这个,因为目前我将这个应用于所有用户,无论是否允许动画。最好只将它应用于关闭动画的浏览器。