diff --git a/Makefile b/Makefile index 1d79c26..ac7e6af 100644 --- a/Makefile +++ b/Makefile @@ -13,20 +13,21 @@ MINILICENSE = "/*! (C) $(TITLE) v$(VERSION) - MIT License - $(HOMEPAGE) */" .PHONY: all clean license -all: src/cookiebanner.min.js +all: dist/cookiebanner.min.js lint: src/cookiebanner.js $(LINT) $< -src/cookiebanner.min.js: src/cookiebanner.js +dist/cookiebanner.min.js: src/cookiebanner.js echo $(MINILICENSE) > $@ $(MINIFY) < $< >> $@ clean: + rm -f dist/cookiebanner.min.js rm -f src/cookiebanner.min.js -publish: src/cookiebanner.min.js - $(UPLOAD) src/cookiebanner.min.js s3://cookiebanner.eu/js/cookiebanner.min.js +publish: dist/cookiebanner.min.js + $(UPLOAD) dist/cookiebanner.min.js s3://cookiebanner.eu/js/cookiebanner.min.js test: $(MAKE) lint diff --git a/dist/cookiebanner.min.js b/dist/cookiebanner.min.js new file mode 100644 index 0000000..85c88f4 --- /dev/null +++ b/dist/cookiebanner.min.js @@ -0,0 +1,2 @@ +/*! (C) Cookie Banner v1.0.0 - MIT License - http://cookiebanner.eu/ */ +!function(e){"use strict";function t(e,t){var i=!1,o=!0,n=e.document,s=n.documentElement,a=n.addEventListener?"addEventListener":"attachEvent",r=n.addEventListener?"removeEventListener":"detachEvent",c=n.addEventListener?"":"on",l=function(o){"readystatechange"==o.type&&"complete"!=n.readyState||(("load"==o.type?e:n)[r](c+o.type,l,!1),!i&&(i=!0)&&t.call(e,o.type||o))},p=function(){try{s.doScroll("left")}catch(e){return void setTimeout(p,50)}l("poll")};if("complete"==n.readyState)t.call(e,"lazy");else{if(n.createEventObject&&s.doScroll){try{o=!e.frameElement}catch(e){}o&&p()}n[a](c+"DOMContentLoaded",l,!1),n[a](c+"readystatechange",l,!1),e[a](c+"load",l,!1)}}var i=e,o=i.document,n="cbinstance",s={get:function(e){return decodeURIComponent(o.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},set:function(e,t,i,n,s,a){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var r="";if(i)switch(i.constructor){case Number:r=i===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+i;break;case String:r="; expires="+i;break;case Date:r="; expires="+i.toUTCString()}return o.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+r+(s?"; domain="+s:"")+(n?"; path="+n:"")+(a?"; secure":""),!0},has:function(e){return new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(o.cookie)},remove:function(e,t,i){return!(!e||!this.has(e))&&(o.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(i?"; domain="+i:"")+(t?"; path="+t:""),!0)}},a={merge:function(){var e,t={},i=0,o=arguments.length;if(0===o)return t;for(;i',s=o.createElement("div");s.innerHTML=n,e=s.firstChild}return e},agree:function(){return this.cookiejar.set(this.options.cookie,1,this.options.expires,this.options.cookiePath,""!==this.options.cookieDomain?this.options.cookieDomain:"",!!this.options.cookieSecure),!0},agreed:function(){return this.cookiejar.has(this.options.cookie)},close:function(){return this.inserted&&(this.closed||(this.element&&this.element.parentNode.removeChild(this.element),this.element_mask&&this.element_mask.parentNode.removeChild(this.element_mask),this.closed=!0)),this.closed},agree_and_close:function(){return this.agree(),this.close()},cleanup:function(){return this.close(),this.unload()},unload:function(){return this.script_el&&this.script_el.parentNode.removeChild(this.script_el),e[n]=void 0,!0},insert:function(){function e(e,t,i){var o=e.addEventListener?"addEventListener":"attachEvent",n=e.addEventListener?"":"on";e[o](n+t,i,!1)}this.element_mask=this.build_viewport_mask();var t=this.options.zindex;this.element_mask&&(t+=1);var i=o.createElement("div");i.className="cookiebanner",i.style.position="fixed",i.style.left=0,i.style.right=0,i.style.height=this.options.height,i.style.minHeight=this.options.minHeight,i.style.zIndex=t,i.style.background=this.options.bg,i.style.color=this.options.fg,i.style.lineHeight=i.style.minHeight,i.style.padding="5px 16px",i.style.fontFamily=this.options.fontFamily,i.style.fontSize=this.options.fontSize,i.style.textAlign=this.options.textAlign,"top"===this.options.position?i.style.top=0:i.style.bottom=0,i.innerHTML='
'+this.options.closeText+"
"+this.options.message+(this.options.linkmsg?" "+this.options.linkmsg+"":"")+"",this.element=i;var n=i.getElementsByTagName("a")[0];n.href=this.options.moreinfo,n.target=this.options.moreinfoTarget,n.style.textDecoration=this.options.moreinfoDecoration,n.style.color=this.options.link,n.style.fontWeight=this.options.moreinfoFontWeight;var s=i.getElementsByTagName("div")[0];s.style.cursor="pointer";var r=this;e(s,"click",function(){r.agree_and_close()}),this.element_mask&&(e(this.element_mask,"click",function(){r.agree_and_close()}),o.body.appendChild(this.element_mask)),this.options.acceptOnScroll&&e(window,"scroll",function(){r.agree_and_close()}),this.options.acceptOnClick&&e(window,"click",function(){r.agree_and_close()}),this.options.acceptOnTimeout&&!isNaN(parseFloat(this.options.acceptOnTimeout))&&isFinite(this.options.acceptOnTimeout)&&setTimeout(function(){r.agree_and_close()},this.options.acceptOnTimeout),this.options.acceptOnFirstVisit&&r.agree(),o.body.appendChild(this.element),this.inserted=!0,"fade"===this.options.effect?(this.element.style.opacity=0,a.fade_in(this.element)):this.element.style.opacity=1}},r&&(e[n]||(e[n]=new c))}(window); diff --git a/tests/demo-minified.html b/tests/demo-minified.html index be9b65e..068a3db 100644 --- a/tests/demo-minified.html +++ b/tests/demo-minified.html @@ -7,7 +7,7 @@

cookie-banner simple demo (minified .js)