2011-11-19 20 views
5

estoy tratando de extender localStorage w/el siguiente ...localStorage.prototype es nulo

localStorage.prototype.setItem2 = function(key,value) { 
    localStorage.setItem(key,value); 
} 

que estoy recibiendo "localStorage.prototype es nulo." ¿Estoy haciendo esto correctamente? ¡Gracias!

Respuesta

8

localStorage es una instancia del objeto Almacenamiento. Trate Storage.prototype.setItem2 o Object.getPrototypeOf(localStorage).setItem2

1

Se puede establecer directamente por:

localStorage.setItem2 = function(key, value) { 
    // do something 
} 

o utilizar Storage.prototype

Antes de hacerlo, asegúrese de que no va a sobrescribir ninguna propiedad existente. Esto es para evitar que los navegadores sobrescriban las futuras mejoras en la API.

+0

No funciona en Chrome (versión 46.0.2490.80 m) como el localStorage.setItem2 se está convirtiendo en una cadena de la función, no la propia función. – Moon

0

LocalStorage y sessionStorage Objetos implementa desde Storage Interfaz.

Puede prototipar la interfaz de almacenamiento.

Storage.prototype.removeItems = function() { 
    for(item in arguments) { 
    this.removeItem(arguments[item]); 
    } 
};