git.schokokeks.org
Repositories
Help
Report an Issue
tor-webwml.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
79f570efd
Branches
Tags
bridges
docs-debian
jobs
master
press-clips
tor-webwml.git
rule-41
js
css3-mediaqueries.js
iAttempt at adding the rule-41 page
Sebastian Hahn
commited
79f570efd
at 2016-06-19 14:24:21
css3-mediaqueries.js
Blame
History
Raw
if(typeof Object.create!=="function"){ Object.create=function(o){ function F(){ }; F.prototype=o; return new F(); }; } var ua={toString:function(){ return navigator.userAgent; },test:function(s){ return this.toString().toLowerCase().indexOf(s.toLowerCase())>-1; }}; ua.version=(ua.toString().toLowerCase().match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1]; ua.webkit=ua.test("webkit"); ua.gecko=ua.test("gecko")&&!ua.webkit; ua.opera=ua.test("opera"); ua.ie=ua.test("msie")&&!ua.opera; ua.ie6=ua.ie&&document.compatMode&&typeof document.documentElement.style.maxHeight==="undefined"; ua.ie7=ua.ie&&document.documentElement&&typeof document.documentElement.style.maxHeight!=="undefined"&&typeof XDomainRequest==="undefined"; ua.ie8=ua.ie&&typeof XDomainRequest!=="undefined"; var domReady=function(){ var _1=[]; var _2=function(){ if(!arguments.callee.done){ arguments.callee.done=true; for(var i=0;i<_1.length;i++){ _1[i](); } } }; if(document.addEventListener){ document.addEventListener("DOMContentLoaded",_2,false); } if(ua.ie){ (function(){ try{ document.documentElement.doScroll("left"); } catch(e){ setTimeout(arguments.callee,50); return; } _2(); })(); document.onreadystatechange=function(){ if(document.readyState==="complete"){ document.onreadystatechange=null; _2(); } }; } if(ua.webkit&&document.readyState){ (function(){ if(document.readyState!=="loading"){ _2(); }else{ setTimeout(arguments.callee,10); } })(); } window.onload=_2; return function(fn){ if(typeof fn==="function"){ _1[_1.length]=fn; } return fn; }; }(); var cssHelper=function(){ var _3={BLOCKS:/[^\s{][^{]*\{(?:[^{}]*\{[^{}]*\}[^{}]*|[^{}]*)*\}/g,BLOCKS_INSIDE:/[^\s{][^{]*\{[^{}]*\}/g,DECLARATIONS:/[a-zA-Z\-]+[^;]*:[^;]+;/g,RELATIVE_URLS:/url\(['"]?([^\/\)'"][^:\)'"]+)['"]?\)/g,REDUNDANT_COMPONENTS:/(?:\/\*([^*\\\\]|\*(?!\/))+\*\/|@import[^;]+;)/g,REDUNDANT_WHITESPACE:/\s*(,|:|;|\{|\})\s*/g,MORE_WHITESPACE:/\s{2,}/g,FINAL_SEMICOLONS:/;\}/g,NOT_WHITESPACE:/\S+/g}; var _4,_5=false; var _6=[]; var _7=function(fn){ if(typeof fn==="function"){ _6[_6.length]=fn; } }; var _8=function(){ for(var i=0;i<_6.length;i++){ _6[i](_4); } }; var _9={}; var _a=function(n,v){ if(_9[n]){ var _b=_9[n].listeners; if(_b){ for(var i=0;i<_b.length;i++){ _b[i](v); } } } }; var _c=function(_d,_e,_f){ if(ua.ie&&!window.XMLHttpRequest){ window.XMLHttpRequest=function(){ return new ActiveXObject("Microsoft.XMLHTTP"); }; } if(!XMLHttpRequest){ return ""; } var r=new XMLHttpRequest(); try{ r.open("get",_d,true); r.setRequestHeader("X_REQUESTED_WITH","XMLHttpRequest"); } catch(e){ _f(); return; } var _10=false; setTimeout(function(){ _10=true; },5000); document.documentElement.style.cursor="progress"; r.onreadystatechange=function(){ if(r.readyState===4&&!_10){ if(!r.status&&location.protocol==="file:"||(r.status>=200&&r.status<300)||r.status===304||navigator.userAgent.indexOf("Safari")>-1&&typeof r.status==="undefined"){ _e(r.responseText); }else{ _f(); } document.documentElement.style.cursor=""; r=null; } }; r.send(""); }; var _11=function(_12){ _12=_12.replace(_3.REDUNDANT_COMPONENTS,""); _12=_12.replace(_3.REDUNDANT_WHITESPACE,"$1"); _12=_12.replace(_3.MORE_WHITESPACE," "); _12=_12.replace(_3.FINAL_SEMICOLONS,"}"); return _12; }; var _13={mediaQueryList:function(s){ var o={}; var idx=s.indexOf("{"); var lt=s.substring(0,idx); s=s.substring(idx+1,s.length-1); var mqs=[],rs=[]; var qts=lt.toLowerCase().substring(7).split(","); for(var i=0;i<qts.length;i++){ mqs[mqs.length]=_13.mediaQuery(qts[i],o); } var rts=s.match(_3.BLOCKS_INSIDE); if(rts!==null){ for(i=0;i<rts.length;i++){ rs[rs.length]=_13.rule(rts[i],o); } } o.getMediaQueries=function(){ return mqs; }; o.getRules=function(){ return rs; }; o.getListText=function(){ return lt; }; o.getCssText=function(){ return s; }; return o; },mediaQuery:function(s,mql){ s=s||""; var not=false,_14; var exp=[]; var _15=true; var _16=s.match(_3.NOT_WHITESPACE); for(var i=0;i<_16.length;i++){ var _17=_16[i]; if(!_14&&(_17==="not"||_17==="only")){ if(_17==="not"){ not=true; } }else{ if(!_14){ _14=_17; }else{ if(_17.charAt(0)==="("){ var _18=_17.substring(1,_17.length-1).split(":"); exp[exp.length]={mediaFeature:_18[0],value:_18[1]||null}; } } } } return {getList:function(){ return mql||null; },getValid:function(){ return _15; },getNot:function(){ return not; },getMediaType:function(){ return _14; },getExpressions:function(){ return exp; }}; },rule:function(s,mql){ var o={}; var idx=s.indexOf("{"); var st=s.substring(0,idx); var ss=st.split(","); var ds=[]; var dts=s.substring(idx+1,s.length-1).split(";"); for(var i=0;i<dts.length;i++){ ds[ds.length]=_13.declaration(dts[i],o); } o.getMediaQueryList=function(){ return mql||null; }; o.getSelectors=function(){ return ss; }; o.getSelectorText=function(){ return st; }; o.getDeclarations=function(){ return ds; }; o.getPropertyValue=function(n){ for(var i=0;i<ds.length;i++){ if(ds[i].getProperty()===n){ return ds[i].getValue(); } } return null; }; return o; },declaration:function(s,r){ var idx=s.indexOf(":"); var p=s.substring(0,idx); var v=s.substring(idx+1); return {getRule:function(){ return r||null; },getProperty:function(){ return p; },getValue:function(){ return v; }}; }}; var _19=function(el){ if(typeof el.cssHelperText!=="string"){ return; } var o={mediaQueryLists:[],rules:[],selectors:{},declarations:[],properties:{}}; var _1a=o.mediaQueryLists; var ors=o.rules; var _1b=el.cssHelperText.match(_3.BLOCKS); if(_1b!==null){ for(var i=0;i<_1b.length;i++){ if(_1b[i].substring(0,7)==="@media "){ _1a[_1a.length]=_13.mediaQueryList(_1b[i]); ors=o.rules=ors.concat(_1a[_1a.length-1].getRules()); }else{ ors[ors.length]=_13.rule(_1b[i]); } } } var oss=o.selectors; var _1c=function(r){ var ss=r.getSelectors(); for(var i=0;i<ss.length;i++){ var n=ss[i]; if(!oss[n]){ oss[n]=[]; } oss[n][oss[n].length]=r; } }; for(i=0;i<ors.length;i++){ _1c(ors[i]); } var ods=o.declarations; for(i=0;i<ors.length;i++){ ods=o.declarations=ods.concat(ors[i].getDeclarations()); } var ops=o.properties; for(i=0;i<ods.length;i++){ var n=ods[i].getProperty(); if(!ops[n]){ ops[n]=[]; } ops[n][ops[n].length]=ods[i]; } el.cssHelperParsed=o; _4[_4.length]=el; return o; }; var _1d=function(el,s){ el.cssHelperText=_11(s||el.innerHTML); return _19(el); }; var _1e=function(){ _5=true; _4=[]; var _1f=[]; var _20=function(){ for(var i=0;i<_1f.length;i++){ _19(_1f[i]); } var _21=document.getElementsByTagName("style"); for(i=0;i<_21.length;i++){ _1d(_21[i]); } _5=false; _8(); }; var _22=document.getElementsByTagName("link"); for(var i=0;i<_22.length;i++){ var _23=_22[i]; if(_23.getAttribute("rel").indexOf("style")>-1&&_23.href&&_23.href.length!==0&&!_23.disabled){ _1f[_1f.length]=_23; } } if(_1f.length>0){ var c=0; var _24=function(){ c++; if(c===_1f.length){ _20(); } }; var _25=function(_26){ var _27=_26.href; _c(_27,function(_28){ _28=_11(_28).replace(_3.RELATIVE_URLS,"url("+_27.substring(0,_27.lastIndexOf("/"))+"/$1)"); _26.cssHelperText=_28; _24(); },_24); }; for(i=0;i<_1f.length;i++){ _25(_1f[i]); } }else{ _20(); } }; var _29={mediaQueryLists:"array",rules:"array",selectors:"object",declarations:"array",properties:"object"}; var _2a={mediaQueryLists:null,rules:null,selectors:null,declarations:null,properties:null}; var _2b=function(_2c,v){ if(_2a[_2c]!==null){ if(_29[_2c]==="array"){ return (_2a[_2c]=_2a[_2c].concat(v)); }else{ var c=_2a[_2c]; for(var n in v){ if(v.hasOwnProperty(n)){ if(!c[n]){ c[n]=v[n]; }else{ c[n]=c[n].concat(v[n]); } } } return c; } } }; var _2d=function(_2e){ _2a[_2e]=(_29[_2e]==="array")?[]:{}; for(var i=0;i<_4.length;i++){ _2b(_2e,_4[i].cssHelperParsed[_2e]); } return _2a[_2e]; }; domReady(function(){ var els=document.body.getElementsByTagName("*"); for(var i=0;i<els.length;i++){ els[i].checkedByCssHelper=true; } if(document.implementation.hasFeature("MutationEvents","2.0")||window.MutationEvent){ document.body.addEventListener("DOMNodeInserted",function(e){ var el=e.target; if(el.nodeType===1){ _a("DOMElementInserted",el); el.checkedByCssHelper=true; } },false); }else{ setInterval(function(){ var els=document.body.getElementsByTagName("*"); for(var i=0;i<els.length;i++){ if(!els[i].checkedByCssHelper){ _a("DOMElementInserted",els[i]); els[i].checkedByCssHelper=true; } } },1000); } }); var _2f=function(d){ if(typeof window.innerWidth!="undefined"){ return window["inner"+d]; }else{ if(typeof document.documentElement!="undefined"&&typeof document.documentElement.clientWidth!="undefined"&&document.documentElement.clientWidth!=0){ return document.documentElement["client"+d]; } } }; return {addStyle:function(s,_30){ var el=document.createElement("style"); el.setAttribute("type","text/css"); document.getElementsByTagName("head")[0].appendChild(el); if(el.styleSheet){ el.styleSheet.cssText=s; }else{ el.appendChild(document.createTextNode(s)); } el.addedWithCssHelper=true; if(typeof _30==="undefined"||_30===true){ cssHelper.parsed(function(_31){ var o=_1d(el,s); for(var n in o){ if(o.hasOwnProperty(n)){ _2b(n,o[n]); } } _a("newStyleParsed",el); }); }else{ el.parsingDisallowed=true; } return el; },removeStyle:function(el){ return el.parentNode.removeChild(el); },parsed:function(fn){ if(_5){ _7(fn); }else{ if(typeof _4!=="undefined"){ if(typeof fn==="function"){ fn(_4); } }else{ _7(fn); _1e(); } } },mediaQueryLists:function(fn){ cssHelper.parsed(function(_32){ fn(_2a.mediaQueryLists||_2d("mediaQueryLists")); }); },rules:function(fn){ cssHelper.parsed(function(_33){ fn(_2a.rules||_2d("rules")); }); },selectors:function(fn){ cssHelper.parsed(function(_34){ fn(_2a.selectors||_2d("selectors")); }); },declarations:function(fn){ cssHelper.parsed(function(_35){ fn(_2a.declarations||_2d("declarations")); }); },properties:function(fn){ cssHelper.parsed(function(_36){ fn(_2a.properties||_2d("properties")); }); },broadcast:_a,addListener:function(n,fn){ if(typeof fn==="function"){ if(!_9[n]){ _9[n]={listeners:[]}; } _9[n].listeners[_9[n].listeners.length]=fn; } },removeListener:function(n,fn){ if(typeof fn==="function"&&_9[n]){ var ls=_9[n].listeners; for(var i=0;i<ls.length;i++){ if(ls[i]===fn){ ls.splice(i,1); i-=1; } } } },getViewportWidth:function(){ return _2f("Width"); },getViewportHeight:function(){ return _2f("Height"); }}; }(); domReady(function enableCssMediaQueries(){ var _37; var _38={LENGTH_UNIT:/[0-9]+(em|ex|px|in|cm|mm|pt|pc)$/,RESOLUTION_UNIT:/[0-9]+(dpi|dpcm)$/,ASPECT_RATIO:/^[0-9]+\/[0-9]+$/,ABSOLUTE_VALUE:/^[0-9]*(\.[0-9]+)*$/}; var _39=[]; var _3a=function(){ var id="css3-mediaqueries-test"; var el=document.createElement("div"); el.id=id; var _3b=cssHelper.addStyle("@media all and (width) { #"+id+" { width: 1px !important; } }",false); document.body.appendChild(el); var ret=el.offsetWidth===1; _3b.parentNode.removeChild(_3b); el.parentNode.removeChild(el); _3a=function(){ return ret; }; return ret; }; var _3c=function(){ _37=document.createElement("div"); _37.style.cssText="position:absolute;top:-9999em;left:-9999em;"+"margin:0;border:none;padding:0;width:1em;font-size:1em;"; document.body.appendChild(_37); if(_37.offsetWidth!==16){ _37.style.fontSize=16/_37.offsetWidth+"em"; } _37.style.width=""; }; var _3d=function(_3e){ _37.style.width=_3e; var _3f=_37.offsetWidth; _37.style.width=""; return _3f; }; var _40=function(_41,_42){ var l=_41.length; var min=(_41.substring(0,4)==="min-"); var max=(!min&&_41.substring(0,4)==="max-"); if(_42!==null){ var _43; var _44; if(_38.LENGTH_UNIT.exec(_42)){ _43="length"; _44=_3d(_42); }else{ if(_38.RESOLUTION_UNIT.exec(_42)){ _43="resolution"; _44=parseInt(_42,10); var _45=_42.substring((_44+"").length); }else{ if(_38.ASPECT_RATIO.exec(_42)){ _43="aspect-ratio"; _44=_42.split("/"); }else{ if(_38.ABSOLUTE_VALUE){ _43="absolute"; _44=_42; }else{ _43="unknown"; } } } } } var _46,_47; if("device-width"===_41.substring(l-12,l)){ _46=screen.width; if(_42!==null){ if(_43==="length"){ return ((min&&_46>=_44)||(max&&_46<_44)||(!min&&!max&&_46===_44)); }else{ return false; } }else{ return _46>0; } }else{ if("device-height"===_41.substring(l-13,l)){ _47=screen.height; if(_42!==null){ if(_43==="length"){ return ((min&&_47>=_44)||(max&&_47<_44)||(!min&&!max&&_47===_44)); }else{ return false; } }else{ return _47>0; } }else{ if("width"===_41.substring(l-5,l)){ _46=document.documentElement.clientWidth||document.body.clientWidth; if(_42!==null){ if(_43==="length"){ return ((min&&_46>=_44)||(max&&_46<_44)||(!min&&!max&&_46===_44)); }else{ return false; } }else{ return _46>0; } }else{ if("height"===_41.substring(l-6,l)){ _47=document.documentElement.clientHeight||document.body.clientHeight; if(_42!==null){ if(_43==="length"){ return ((min&&_47>=_44)||(max&&_47<_44)||(!min&&!max&&_47===_44)); }else{ return false; } }else{ return _47>0; } }else{ if("device-aspect-ratio"===_41.substring(l-19,l)){ return _43==="aspect-ratio"&&screen.width*_44[1]===screen.height*_44[0]; }else{ if("color-index"===_41.substring(l-11,l)){ var _48=Math.pow(2,screen.colorDepth); if(_42!==null){ if(_43==="absolute"){ return ((min&&_48>=_44)||(max&&_48<_44)||(!min&&!max&&_48===_44)); }else{ return false; } }else{ return _48>0; } }else{ if("color"===_41.substring(l-5,l)){ var _49=screen.colorDepth; if(_42!==null){ if(_43==="absolute"){ return ((min&&_49>=_44)||(max&&_49<_44)||(!min&&!max&&_49===_44)); }else{ return false; } }else{ return _49>0; } }else{ if("resolution"===_41.substring(l-10,l)){ var res; if(_45==="dpcm"){ res=_3d("1cm"); }else{ res=_3d("1in"); } if(_42!==null){ if(_43==="resolution"){ return ((min&&res>=_44)||(max&&res<_44)||(!min&&!max&&res===_44)); }else{ return false; } }else{ return res>0; } }else{ return false; } } } } } } } } }; var _4a=function(mq){ var _4b=mq.getValid(); var _4c=mq.getExpressions(); var l=_4c.length; if(l>0){ for(var i=0;i<l&&_4b;i++){ _4b=_40(_4c[i].mediaFeature,_4c[i].value); } var not=mq.getNot(); return (_4b&&!not||not&&!_4b); } }; var _4d=function(mql){ var mqs=mql.getMediaQueries(); var t={}; for(var i=0;i<mqs.length;i++){ if(_4a(mqs[i])){ t[mqs[i].getMediaType()]=true; } } var s=[],c=0; for(var n in t){ if(t.hasOwnProperty(n)){ if(c>0){ s[c++]=","; } s[c++]=n; } } if(s.length>0){ _39[_39.length]=cssHelper.addStyle("@media "+s.join("")+"{"+mql.getCssText()+"}",false); } }; var _4e=function(_4f){ for(var i=0;i<_4f.length;i++){ _4d(_4f[i]); } if(ua.ie){ document.documentElement.style.display="block"; setTimeout(function(){ document.documentElement.style.display=""; },0); setTimeout(function(){ cssHelper.broadcast("cssMediaQueriesTested"); },100); }else{ cssHelper.broadcast("cssMediaQueriesTested"); } }; var _50=function(){ for(var i=0;i<_39.length;i++){ cssHelper.removeStyle(_39[i]); } _39=[]; cssHelper.mediaQueryLists(_4e); }; var _51=0; var _52=function(){ var _53=cssHelper.getViewportWidth(); var _54=cssHelper.getViewportHeight(); if(ua.ie){ var el=document.createElement("div"); el.style.position="absolute"; el.style.top="-9999em"; el.style.overflow="scroll"; document.body.appendChild(el); _51=el.offsetWidth-el.clientWidth; document.body.removeChild(el); } var _55; var _56=function(){ var vpw=cssHelper.getViewportWidth(); var vph=cssHelper.getViewportHeight(); if(Math.abs(vpw-_53)>_51||Math.abs(vph-_54)>_51){ _53=vpw; _54=vph; clearTimeout(_55); _55=setTimeout(function(){ if(!_3a()){ _50(); }else{ cssHelper.broadcast("cssMediaQueriesTested"); } },500); } }; window.onresize=function(){ var x=window.onresize||function(){ }; return function(){ x(); _56(); }; }(); }; var _57=document.documentElement; _57.style.marginLeft="-32767px"; setTimeout(function(){ _57.style.marginTop=""; },20000); return function(){ if(!_3a()){ cssHelper.addListener("newStyleParsed",function(el){ _4e(el.cssHelperParsed.mediaQueryLists); }); cssHelper.addListener("cssMediaQueriesTested",function(){ if(ua.ie){ _57.style.width="1px"; } setTimeout(function(){ _57.style.width=""; _57.style.marginLeft=""; },0); cssHelper.removeListener("cssMediaQueriesTested",arguments.callee); }); _3c(); _50(); }else{ _57.style.marginLeft=""; } _52(); }; }()); try{ document.execCommand("BackgroundImageCache",false,true); } catch(e){ }