¿Puedo cargar un documento HTML completo en un fragmento de documento en Internet Explorer?
Aquí hay algo con lo que he estado teniendo dificultades. Tengo un script local del lado del cliente que necesita permitir que un usuario busque una página web remota y busque formularios en esa página resultante. Para hacer esto (sin expresiones regulares), necesito analizar el documento en un objeto DOM completamente transitable.
Algunas limitaciones que me gustaría enfatizar:
No quiero usar bibliotecas (como jQuery). Hay demasiada hinchazón para lo que necesito hacer aquí. Bajo ninguna circunstancia se deben ejecutar los scripts de la página remota (por razones de seguridad).PI de @DOM, comogetElementsByTagName
, necesita estar disponible. Solo necesita trabajar en Internet Explorer, pero en 7 como mínimo. Supongamos que no tengo acceso a un servidor. Sí, pero no puedo usarlo para esto. Lo que he probadouponiendo que tengo una cadena de documento HTML completa (incluida la declaración DOCTYPE) en la variablehtml
, esto es lo que he probado hasta ahora:
var frag = document.createDocumentFragment(),
div = frag.appendChild(document.createElement("div"));
div.outerHTML = html;
//-> results in an empty fragment
div.insertAdjacentHTML("afterEnd", html);
//-> HTML is not added to the fragment
div.innerHTML = html;
//-> Error (expected, but I tried it anyway)
var doc = new ActiveXObject("htmlfile");
doc.write(html);
doc.close();
//-> JavaScript executes
También he intentado extraer el<head>
y<body>
nodos del HTML y agregarlos a una<HTML>
elemento dentro del fragmento, todavía no hubo suerte.
¿Alguien tiene alguna idea?