Hola:
El problema del envío a iframes creados dinámicamente es algo complejo, pero ahora funciona (al menos en los 3 navegadores probados), en primer lugar hay que discriminar a explorer y lo consigo con esto:
Código:
var _navegador = navigator.userAgent;
var op = /opera/i.test(_navegador); // opera
var mo = /gecko/i.test(_navegador); // mozilla
Y la condición sería !(op || mo)
Y el problema es que el iframe dinámico acepta el atributo name, pero en la colección de ventanas no se queda con ese nombre, así que se recorre la colección de iframes (los tags) y al encontrar el recién creado, asignar a la ventana correspondiente (por la indexación) el nombre del iframe
En resúmen, el código sería:
Código:
nuevo = cuentaIFrames++; // cuentaIFrames es global
nuevoNombre = "NIFrame" + nuevo.toString();
nuevoIframe = document.createElement("iframe");
with (nuevoIframe) {
frameBorder = 0;
id = nuevoNombre;
name = nuevoNombre;
width = 32;
height = 32;
style.overflow = "hidden";
}
document.getElementById("colecciones").appendChild(nuevoIframe);
document.getElementById("colecciones").appendChild(document.createTextNode(""));
iFs = document.getElementsByTagName("iframe");
for (var i = 0, total = iFs.length; i < total; i ++)
if (iFs[i] == nuevoIframe && !(op || mo))
window.frames[i].name = iFs[i].name;
El enlace es el mismo, pero está mucho más funcional.
Saludos