He hecho pruebas y tanto en IE como en FF como en Opera puedo inventarme atributos dinamicamente y asignarles la propiedad que yo quiera, y despues acceder a ellos por DOM y leer su valor. Por lo menos lo he probado con DIVs y funciona.
La duda es: Yo quiero guardar una cadena, y funciona; quiero guardar un numero, y funciona (lo paso a string); quiero guardar un array, y me las apaño con un join(",") para pasarlo a cadena, y funciona. Incluso yendo mas lejos, puedo guardarme una funcion entera:
Código PHP:
<div id="capa">assss</div>
<script>
var capa=document.getElementById("capa");
function cualquiera(q) {
alert(q);
}
capa.setAttribute("funcion_cualquiera",cualquiera);
alert(capa.getAttribute("funcion_cualquiera"));
</script>
Y funciona. Incluso podriamos ejecutar esa funcion, que esta en forma de string (hace poco preguntaba sobre ello, y no obtuve respuesta, pero ya lo he visto solucionado por medio de la intuicion):
Código PHP:
eval(capa.getAttribute("funcion_cualquiera"))("hola que tal");
Lamentablemente esto en FF no produce efecto, y en Opera es todavia peor, devuelve un error:
Cita: Error:
name: TypeError
message: Statement on line 9: Type mismatch (usually a non-object value used where an object is required)
Backtrace:
Line 9 of inline#2 script in file://localhost/C:/Documents%20and%20Settings/derkenuke/Escritorio/guardar_atr.htm
eval(capa.getAttribute("funcion_cualquiera"))("hol a que tal");
Si alguien pudiera decirme como intentar correr eso en ambos navegadores...
Pero bueno eso no es la duda que me concierne. Si estoy aqui posteando es para guardar
Objetos, ni funciones ni arrays. Creo que a esto en otros lenguajes se le llama serializar objetos, convertirlos a strings codificados que contienen toda su informacion.
¿alguien me diria como hacerlo?
Creo que estoy sobrepasando los limites del javascript...