window.name
se utiliza para establecer el nombre de la ventana, y como el nombre de la ventana solo puede ser una cadena, todo lo que establezca en window.name
se convierte en una cadena. Y las cadenas, como valores primitivos, no pueden tener propiedades. La solución es usar un nombre de variable diferente o un alcance diferente.
Como alternativa, puede usar window.name
como desee si tiene este código primero. No recomiendo esto en absoluto, pero, al igual que una prueba de concepto:
(function() {
var _name;
window.__defineGetter__('name', function() {
return _name;
});
window.__defineSetter__('name', function (v) {
_name = v;
});
})();
Además, se debe utilizar en lugar de {}
new Object
. Además de ser más conciso, también es más eficiente y más explícito.
'language' atributo está en desuso, utilizar sólo el atributo' type' . También es mejor usar 'console.log' en lugar de' alert' y usar el Chrome Dev. Herramientas (o FireBug) para leerlos. Y finalmente necesita tener un tipo de documento en la línea 1 de su código, un doctype es: '' –
AFAIK es más común usar la sintaxis 'var name = {}' también. – Hamish
Fue solo error tipográfico ... Ingresé 'Objeto' no objeto. todavía arroja un error en Chrome. prueba el nuevo código en cromo. –