MediaWiki:Gadget-silent fail storage.js

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.

Remarque: après avoir sauvegardé, vous devez vider le cache de votre navigateur pour que les changements prennent effet. Mozilla, cliquez sur Actualiser (ou ctrl-r). Internet Explorer / Opera: ctrl-f5. Safari: cmd-r. Konqueror ctrl-r.

/**
 * Variante du "local storage" : identique au local storage,
 * à la différence qu'aucune erreur n'est renvoyée si le local storage
 * n'est pas supporté
 * 
 * Fichier copié de [[sv:MediaWiki:Gadget-silent fail storage.js]] (oldid=1663823)
 * Auteur : [[sv:User:Skalman]]
 */
window.silentFailStorage = (function () {
	try {
		// Will throw if localStorage isn't supported or if it's disabled
		var l = window.localStorage,
			val = l.getItem('a');
		l.setItem('a', 'b');
		if (l.getItem('a') === 'b') {
			// it works
			if (val !== null)
				l.setItem('a', val);
			else
				l.removeItem('a');
			return l;
		}
	} catch (e) {
	}

	function noop() {}
	function rnull() { return null; }

	return {
		getItem: rnull,
		setItem: noop,
		removeItem: noop,
		clear: noop,
		key: rnull,
		length: 0
	};
})();