feat: test saturation localstorage
on test en amont du chargement des gamutables si le localstorage n'est pas saturé, pour ca, on essaye d'ecrire une string de 100 * "gamutable" Si c'est Ok, on supprime cette entrée Sinon, on vidange tout le localstorage
This commit is contained in:
parent
739c0797f8
commit
fe653417c0
4 changed files with 19 additions and 3 deletions
2
dist/.vite/manifest.json
vendored
2
dist/.vite/manifest.json
vendored
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"gamutable.js": {
|
||||
"file": "assets/gamutable-CAcZWA31.js",
|
||||
"file": "assets/gamutable-Cq_WjPEr.js",
|
||||
"name": "gamutable",
|
||||
"src": "gamutable.js",
|
||||
"isEntry": true
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,7 +1,7 @@
|
|||
<paquet
|
||||
prefix="gamutable"
|
||||
categorie="outil"
|
||||
version="5.5.0"
|
||||
version="5.6.0"
|
||||
etat="test"
|
||||
compatibilite="[3.3.0;4.*]"
|
||||
logo="prive/themes/spip/images/gamutable-xx.svg"
|
||||
|
|
|
@ -12,6 +12,22 @@ const components = {
|
|||
GamuTable,
|
||||
};
|
||||
|
||||
//
|
||||
// test si le localstorage n'est pas saturé, sinon, on le vidange entierement
|
||||
//
|
||||
try {
|
||||
const repeat = function (str, x) { return new Array(x + 1).join(str); };
|
||||
const too_big = repeat("gamutable ", 100); // each JS character is 2 bytes
|
||||
localStorage.setItem("test_gamutable", too_big);
|
||||
localStorage.removeItem("test_gamutable")
|
||||
} catch (e) {
|
||||
console.log(e.code);
|
||||
if (e.code === 22 || e.code === 1024) {
|
||||
console.error('On fait le ménage de tout le localstorage');
|
||||
localStorage.clear();
|
||||
}
|
||||
}
|
||||
|
||||
gamutable();
|
||||
function gamutable() {
|
||||
let i = 1;
|
||||
|
|
Loading…
Add table
Reference in a new issue