app/assets/javascripts/cookies_eu.js in cookies_eu-1.5.2 vs app/assets/javascripts/cookies_eu.js in cookies_eu-1.6.0
- old
+ new
@@ -1,34 +1,50 @@
//= require js.cookie
'use strict';
-document.addEventListener('DOMContentLoaded', function() {
+var cookiesEu = {
+ init: function() {
+ var cookiesEuOKButton = document.querySelector('.js-cookies-eu-ok');
- var cookiesEu = {
- init: function() {
- var cookiesEuOKButton = document.querySelector('.js-cookies-eu-ok');
+ if (cookiesEuOKButton) {
+ this.addListener(cookiesEuOKButton);
+ }
+ },
- if (cookiesEuOKButton) {
- this.addListener(cookiesEuOKButton);
- }
- },
+ addListener: function(target) {
+ // Support for IE < 9
+ if (target.attachEvent) {
+ target.attachEvent('onclick', this.setCookie);
+ } else {
+ target.addEventListener('click', this.setCookie, false);
+ }
+ },
- addListener: function(target) {
- // Support for IE < 9
- if (target.attachEvent) {
- target.attachEvent('onclick', this.setCookie);
- } else {
- target.addEventListener('click', this.setCookie, false);
- }
- },
+ setCookie: function() {
+ Cookies.set('cookie_eu_consented', true, { path: '/', expires: 365 });
- setCookie: function() {
- Cookies.set('cookie_eu_consented', true, { path: '/', expires: 365 });
+ var container = document.querySelector('.js-cookies-eu');
+ container.parentNode.removeChild(container);
+ }
+};
- var container = document.querySelector('.js-cookies-eu');
- container.parentNode.removeChild(container);
- }
+(function() {
+ var isCalled = false;
+
+ function isReady() {
+ if (isCalled) return;
+ isCalled = true;
+
+ cookiesEu.init();
}
- cookiesEu.init();
+ if (document.addEventListener) {
+ document.addEventListener('DOMContentLoaded', isReady, false);
+ }
-});
+ // Old browsers IE < 9
+ if (window.addEventListener) {
+ window.addEventListener('load', isReady, false);
+ } else if (window.attachEvent) {
+ window.attachEvent('onload', isReady);
+ }
+})();