有没有办法检测是否已禁用动画

时间:2015-12-07 10:09:32

标签: css internet-explorer animated-gif

我有一个动画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;
&#13;
&#13;

2 个答案:

答案 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);
    }
}

如果有人能找到一种方法来检查动画是否被允许在第一位,我将保留这个,因为目前我将这个应用于所有用户,无论是否允许动画。最好只将它应用于关闭动画的浏览器。