UNPKG

slimerjs-firefox

Version:

This repo includes slimerjs as well as downloads a local copy of Firefox.

4 lines (3 loc) 3.24 kB
function(){return function(){var d=!0,g=!1,h=this;var aa=window;function k(a,b){for(var c=0,r=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),x=String(b).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),D=Math.max(r.length,x.length),y=0;0==c&&y<D;y++){var da=r[y]||"",ea=x[y]||"",fa=RegExp("(\\d*)(\\D*)","g"),ga=RegExp("(\\d*)(\\D*)","g");do{var e=fa.exec(da)||["","",""],f=ga.exec(ea)||["","",""];if(0==e[0].length&&0==f[0].length)break;c=((0==e[1].length?0:parseInt(e[1],10))<(0==f[1].length?0:parseInt(f[1],10))?-1:(0==e[1].length?0:parseInt(e[1],10))> (0==f[1].length?0:parseInt(f[1],10))?1:0)||((0==e[2].length)<(0==f[2].length)?-1:(0==e[2].length)>(0==f[2].length)?1:0)||(e[2]<f[2]?-1:e[2]>f[2]?1:0)}while(0==c)}return c};var l,m,n,p;function q(){return h.navigator?h.navigator.userAgent:null}p=n=m=l=g;var s;if(s=q()){var ba=h.navigator;l=0==s.indexOf("Opera");m=!l&&-1!=s.indexOf("MSIE");n=!l&&-1!=s.indexOf("WebKit");p=!l&&!n&&"Gecko"==ba.product}var t=l,u=m,v=p,w=n;function z(){var a=h.document;return a?a.documentMode:void 0}var A; a:{var B="",C;if(t&&h.opera)var E=h.opera.version,B="function"==typeof E?E():E;else if(v?C=/rv\:([^\);]+)(\)|;)/:u?C=/MSIE\s+([^\);]+)(\)|;)/:w&&(C=/WebKit\/(\S+)/),C)var F=C.exec(q()),B=F?F[1]:"";if(u){var G=z();if(G>parseFloat(B)){A=String(G);break a}}A=B}var H={},I=h.document,ca=!I||!u?void 0:z()||("CSS1Compat"==I.compatMode?parseInt(A,10):5);var J,K,L,M,N,O,P;P=O=N=M=L=K=J=g;var Q=q();Q&&(-1!=Q.indexOf("Firefox")?J=d:-1!=Q.indexOf("Camino")?K=d:-1!=Q.indexOf("iPhone")||-1!=Q.indexOf("iPod")?L=d:-1!=Q.indexOf("iPad")?M=d:-1!=Q.indexOf("Android")?N=d:-1!=Q.indexOf("Chrome")?O=d:-1!=Q.indexOf("Safari")&&(P=d));var ha=J,ia=K,ja=L,ka=M,R=N,la=O,ma=P;function S(a){return(a=a.exec(q()))?a[1]:""}var na=function(){if(ha)return S(/Firefox\/([0-9.]+)/);if(u||t)return A;if(la)return S(/Chrome\/([0-9.]+)/);if(ma)return S(/Version\/([0-9.]+)/);if(ja||ka){var a=/Version\/(\S+).*Mobile\/(\S+)/.exec(q());if(a)return a[1]+"."+a[2]}else{if(R)return(a=S(/Android\s+([0-9.]+)/))?a:S(/Version\/([0-9.]+)/);if(ia)return S(/Camino\/([0-9.]+)/)}return""}();var T,U,V=function(){if(!v)return g;var a=h.Components;if(!a)return g;try{if(!a.classes)return g}catch(b){return g}var c=a.classes,a=a.interfaces,r=c["@mozilla.org/xpcom/version-comparator;1"].getService(a.nsIVersionComparator),c=c["@mozilla.org/xre/app-info;1"].getService(a.nsIXULAppInfo),x=c.platformVersion,D=c.version;T=function(a){r.a(x,""+a)};U=function(a){r.a(D,""+a)};return d}(),W;if(R){var X=/Android\s+([0-9\.]+)/.exec(q());W=X?X[1]:"0"}else W="0";var oa=W;R&&(V?U(2.3):R?k(oa,2.3):k(na,2.3));function pa(a,b){this.x=void 0!==a?a:0;this.y=void 0!==b?b:0}pa.prototype.toString=function(){return"("+this.x+", "+this.y+")"};!t&&w&&(V?T("533"):u?k(ca,"533"):H["533"]||(H["533"]=0<=k(A,"533")));function qa(a){var b=a||aa;u?(a=b.screenLeft,b=b.screenTop):(a=b.screenX,b=b.screenY);return new pa(a,b)}var Y=["_"],Z=h;!(Y[0]in Z)&&Z.execScript&&Z.execScript("var "+Y[0]);for(var $;Y.length&&($=Y.shift());)!Y.length&&void 0!==qa?Z[$]=qa:Z=Z[$]?Z[$]:Z[$]={};; return this._.apply(null,arguments);}.apply({navigator:typeof window!=undefined?window.navigator:null,document:typeof window!=undefined?window.document:null}, arguments);}