Hola:
 
Bueno, recuerdo que en mozilla y creo que también en Opera se pueden definir atributos a tags determinados con prototype, por ejemplo: 
HTMLParagraphElement.prototype.toString = function() {return "párrafo";} 
y si no se redefine su método toString(), devuelven [object HTMLParagraphElement], pero explorer a todos los considera [Object], así que supongo que hay que discriminar en la misma función. 
Voy a intentarlo y te cuento. 
Saludos 
