iexplorer es muy diferente en el aspecto del DOM. iexplorer no permite transferir elementos DOM de un documento a otro. por ejemplo, si intentas lo siguiente la consola te indicara
Not such interface is supported.
Código:
document.body.appendChild(opener.document.body)
por supuesto, tu codigo no tiene nada parecido pero aunque no lo creas tiene el mismo contexto. especificamente en lo marcado en rojo.
Código:
window.opener.document.getElementById("ComCategoria").options[0] = new Option("someval","sometext");
Option se refiere a un metodo de la ventana hija, y al referirse a esta ventana el elemento es creado en el contexto de la ventana hija. para comprobar que es cierto, intenta el siguiente codigo el cual crea el elemento option en el contexto de la ventana padre.
Código:
option = self.opener.document.createElement('option');
option.text = 'sometext', option.value = 'someval';
window.opener.document.getElementById("ComCategoria").options[0] = option;
en este caso, notese que he usado
createElement en lugar de
Option. pudieramos haber creado el elemento con
Option utilizando el contexto de la ventana padre pero por alguna razon que desconozco genera error
Object doesn't support this property or method.
Código:
option = new self.opener.Option('text', 'value')
supuse que el problema esta en el keyword
new ya que este crea un objeto antes de invocar el metodo o funcion. de modo que eliminando el keyword nos genera el elemento option. pero de nuevo nos crea el mismo error.
Código:
option = self.opener.Option('sometext', 'someval'); // notese que no tiene keyword new;
self.opener.document.getElementById("ComCategoria").options[0] = option;
conclusion:
la mejor solucion es crear una funcion en la ventana padre para crear y agregar los elementos options y desde la ventana hija invocas la funcion.