|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / a / home / dev2.destoffenstraat.com / lib / web / mage / |
Filename | /home/a/home/dev2.destoffenstraat.com/lib/web/mage/polyfill.js |
Size | 5.11 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 28-Jan-2025 06:45 |
Last accessed | 22-Aug-2025 11:56 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
(function (root, doc) {
'use strict';
var Storage;
try {
if (!root.localStorage || !root.sessionStorage) {
throw new Error();
}
localStorage.setItem('storage_test', 1);
localStorage.removeItem('storage_test');
} catch (e) {
/**
* Returns a storage object to shim local or sessionStorage
* @param {String} type - either 'local' or 'session'
*/
Storage = function (type) {
var data;
/**
* Creates a cookie
* @param {String} name
* @param {String} value
* @param {Integer} days
*/
function createCookie(name, value, days) {
var date, expires;
if (days) {
date = new Date();
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
expires = '; expires=' + date.toGMTString();
} else {
expires = '';
}
doc.cookie = name + '=' + value + expires + '; path=/';
}
/**
* Reads value of a cookie
* @param {String} name
*/
function readCookie(name) {
var nameEQ = name + '=',
ca = doc.cookie.split(';'),
i = 0,
c;
for (i = 0; i < ca.length; i++) {
c = ca[i];
while (c.charAt(0) === ' ') {
c = c.substring(1, c.length);
}
if (c.indexOf(nameEQ) === 0) {
return c.substring(nameEQ.length, c.length);
}
}
return null;
}
/**
* Returns cookie name based upon the storage type.
* If this is session storage, the function returns a unique cookie per tab
*/
function getCookieName() {
if (type !== 'session') {
return 'localstorage';
}
if (!root.name) {
root.name = new Date().getTime();
}
return 'sessionStorage' + root.name;
}
/**
* Sets storage cookie to a data object
* @param {Object} dataObject
*/
function setData(dataObject) {
data = encodeURIComponent(JSON.stringify(dataObject));
createCookie(getCookieName(), data, 365);
}
/**
* Clears value of cookie data
*/
function clearData() {
createCookie(getCookieName(), '', 365);
}
/**
* @returns value of cookie data
*/
function getData() {
var dataResponse = readCookie(getCookieName());
return dataResponse ? JSON.parse(decodeURIComponent(dataResponse)) : {};
}
data = getData();
return {
length: 0,
/**
* Clears data from storage
*/
clear: function () {
data = {};
this.length = 0;
clearData();
},
/**
* Gets an item from storage
* @param {String} key
*/
getItem: function (key) {
return data[key] === undefined ? null : data[key];
},
/**
* Gets an item by index from storage
* @param {Integer} i
*/
key: function (i) {
var ctr = 0,
k;
for (k in data) {
if (data.hasOwnProperty(k)) {
// eslint-disable-next-line max-depth
if (ctr.toString() === i.toString()) {
return k;
}
ctr++;
}
}
return null;
},
/**
* Removes an item from storage
* @param {String} key
*/
removeItem: function (key) {
delete data[key];
this.length--;
setData(data);
},
/**
* Sets an item from storage
* @param {String} key
* @param {String} value
*/
setItem: function (key, value) {
data[key] = value.toString();
this.length++;
setData(data);
}
};
};
root.localStorage.prototype = root.localStorage = new Storage('local');
root.sessionStorage.prototype = root.sessionStorage = new Storage('session');
}
})(window, document);
'use strict';
var Storage;
try {
if (!root.localStorage || !root.sessionStorage) {
throw new Error();
}
localStorage.setItem('storage_test', 1);
localStorage.removeItem('storage_test');
} catch (e) {
/**
* Returns a storage object to shim local or sessionStorage
* @param {String} type - either 'local' or 'session'
*/
Storage = function (type) {
var data;
/**
* Creates a cookie
* @param {String} name
* @param {String} value
* @param {Integer} days
*/
function createCookie(name, value, days) {
var date, expires;
if (days) {
date = new Date();
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
expires = '; expires=' + date.toGMTString();
} else {
expires = '';
}
doc.cookie = name + '=' + value + expires + '; path=/';
}
/**
* Reads value of a cookie
* @param {String} name
*/
function readCookie(name) {
var nameEQ = name + '=',
ca = doc.cookie.split(';'),
i = 0,
c;
for (i = 0; i < ca.length; i++) {
c = ca[i];
while (c.charAt(0) === ' ') {
c = c.substring(1, c.length);
}
if (c.indexOf(nameEQ) === 0) {
return c.substring(nameEQ.length, c.length);
}
}
return null;
}
/**
* Returns cookie name based upon the storage type.
* If this is session storage, the function returns a unique cookie per tab
*/
function getCookieName() {
if (type !== 'session') {
return 'localstorage';
}
if (!root.name) {
root.name = new Date().getTime();
}
return 'sessionStorage' + root.name;
}
/**
* Sets storage cookie to a data object
* @param {Object} dataObject
*/
function setData(dataObject) {
data = encodeURIComponent(JSON.stringify(dataObject));
createCookie(getCookieName(), data, 365);
}
/**
* Clears value of cookie data
*/
function clearData() {
createCookie(getCookieName(), '', 365);
}
/**
* @returns value of cookie data
*/
function getData() {
var dataResponse = readCookie(getCookieName());
return dataResponse ? JSON.parse(decodeURIComponent(dataResponse)) : {};
}
data = getData();
return {
length: 0,
/**
* Clears data from storage
*/
clear: function () {
data = {};
this.length = 0;
clearData();
},
/**
* Gets an item from storage
* @param {String} key
*/
getItem: function (key) {
return data[key] === undefined ? null : data[key];
},
/**
* Gets an item by index from storage
* @param {Integer} i
*/
key: function (i) {
var ctr = 0,
k;
for (k in data) {
if (data.hasOwnProperty(k)) {
// eslint-disable-next-line max-depth
if (ctr.toString() === i.toString()) {
return k;
}
ctr++;
}
}
return null;
},
/**
* Removes an item from storage
* @param {String} key
*/
removeItem: function (key) {
delete data[key];
this.length--;
setData(data);
},
/**
* Sets an item from storage
* @param {String} key
* @param {String} value
*/
setItem: function (key, value) {
data[key] = value.toString();
this.length++;
setData(data);
}
};
};
root.localStorage.prototype = root.localStorage = new Storage('local');
root.sessionStorage.prototype = root.sessionStorage = new Storage('session');
}
})(window, document);