API のすべての部分を複製することはできないかもしれませんが、localStorage 変数全体を独自のものに置き換えることができます...
var localStorage = (function () {
return {
setItem: function (key, value) {
alert(key);
}
};
}());
localStorage.setItem('a', 'b');
コードが目に見えないように同じインターフェイスを実装する必要がありますが、この例でsetItem
はすべてを行う方法を示しています。
古い localStorage を変数にポップして保持する場合は、引き続き呼び出すことができます。
他の場所に保存するかどうかを決定するためにテストする条件を実装していません。
もちろん、これを少し変更して、別の名前を付けることでインターセプターではなくライブラリにすることもできます...これにより、人々が従うための固定APIを実装できます。
var storageLibrary = (function () {
return {
setItem: function (key, value) {
alert(key);
if (true) {
localStorage.setItem(key, value);
} else {
// Save it somewhere else
}
}
};
}());
storageLibrary.setItem('a', 'b');