Javascript 加载图标无法在浏览器上禁用 JS 的情况下使用

标签 javascript jquery html css blogger

我在博客网站上使用 Javascript 进行加载,直到图标完全加载。但是如果没有在浏览器上禁用 Javascript,那是行不通的。只有 CSS 显示了如何修复它。

document.onreadystatechange = function () {
  var state = document.readyState
  if (state == 'complete') {
         document.getElementById('interactive');
         document.getElementById('load').style.visibility="hidden";
  }
}
#load{
    width:100%;
    height:100%;
    position:fixed;
    z-index:9999;
    background:url("https://www.creditmutuel.fr/cmne/fr/banques/webservices/nswr/images/loading.gif") no-repeat center center rgba(0,0,0,0.25)
}
<div id="load"></div>

最佳答案

嗯!我在互联网上搜索了很多之后找到了这个答案。它是 modernizer 的最佳用途

/*! modernizr 3.5.0 (Custom Build) | MIT *
 * https://modernizr.com/download/?-setclasses !*/
!function(n,e,s){function o(n,e){return typeof n===e}function a(){var n,e,s,a,i,l,r;for(var c in f)if(f.hasOwnProperty(c)){if(n=[],e=f[c],e.name&&(n.push(e.name.toLowerCase()),e.options&&e.options.aliases&&e.options.aliases.length))for(s=0;s<e.options.aliases.length;s++)n.push(e.options.aliases[s].toLowerCase());for(a=o(e.fn,"function")?e.fn():e.fn,i=0;i<n.length;i++)l=n[i],r=l.split("."),1===r.length?Modernizr[r[0]]=a:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=a),t.push((a?"":"no-")+r.join("-"))}}function i(n){var e=r.className,s=Modernizr._config.classPrefix||"";if(c&&(e=e.baseVal),Modernizr._config.enableJSClass){var o=new RegExp("(^|\\s)"+s+"no-js(\\s|$)");e=e.replace(o,"$1"+s+"js$2")}Modernizr._config.enableClasses&&(e+=" "+s+n.join(" "+s),c?r.className.baseVal=e:r.className=e)}var t=[],f=[],l={_version:"3.5.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(n,e){var s=this;setTimeout(function(){e(s[n])},0)},addTest:function(n,e,s){f.push({name:n,fn:e,options:s})},addAsyncTest:function(n){f.push({name:null,fn:n})}},Modernizr=function(){};Modernizr.prototype=l,Modernizr=new Modernizr;var r=e.documentElement,c="svg"===r.nodeName.toLowerCase();a(),i(t),delete l.addTest,delete l.addAsyncTest;for(var u=0;u<Modernizr._q.length;u++)Modernizr._q[u]();n.Modernizr=Modernizr}(window,document);
.no-js #load{display:none}

关于Javascript 加载图标无法在浏览器上禁用 JS 的情况下使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48109630/

相关文章:

javascript - jQuery - 2 级 slider 通过单击返回到 1 级

javascript - 为什么alert/console.log 使用 Jquery 拖放运行不同的数量

javascript - AngularJS - 从页面底部的远程服务器加载更多数据

javascript - 如何在没有可区分的 id 或类的情况下检测对 dom 的更改

javascript - IE6 中嵌套 JSON 会导致问题

css - 使用CSS时 Canvas 会拉伸(stretch),但具有“width”/“height”属性的普通 Canvas

html - 为什么 <div> 下的 <li> 元素与 <ul> 下的 <li> 元素渲染不同?

html - 背景图像被截断

javascript - 从 AngularJS 模板生成 HTML Canvas

javascript - 设计程序以便 Angular 不会在每次更新推送到商店时重新渲染 MediaStream 组件?