javascript - pasar - contentDocument para un iframe
javascript iframe content (3)
contentDocument of type Document, readonly, introducido en DOM Level 2 El documento que contiene este marco, si hay alguno y está disponible, o null en caso contrario.
A partir del elemento iframe DOM, los scripts pueden obtener acceso al objeto ventana de la página HTML incluida a través de la propiedad contentWindow. La propiedad contentDocument se refiere al elemento del documento dentro del iframe (esto es equivalente a contentWindow.document), pero no es compatible con las versiones de Internet Explorer anteriores a IE8.
el documento esta página o marco contiene
Esta propiedad es nueva en Windows Internet Explorer 8
Entonces, para obtener el innerHTML del elemento del cuerpo, podrías usar
iframe.contentDocument.getElementsByTagName("body")[0]
o
iframe.contentDocument.body
en los navegadores de hoy.
¿Qué representa exactamente "contentDocument" para un iframe (o incluso el antiguo elemento "frame")? ¿Es equivalente al elemento "html" o al elemento "body"? ¿De qué sirve? ¿Y esta propiedad es compatible con todos los navegadores?
contentDocument
es la forma estandarizada de obtener el iframe o el objeto Document
de frame. Es el mismo objeto que el JavaScript que se ejecuta dentro del iframe accedería a través del document
.
Como se indicó en otras respuestas, IE no lo contentWindow
hasta la versión 8, pero sí contentWindow
acceso al objeto Window
del iframe a través de contentWindow
. Por lo tanto, una forma de navegación cruzada para obtener el elemento <body>
de un iframe es:
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
var iframeBody = iframeDoc.body;
Tenga en cuenta que si el iframe no se sirve desde el mismo dominio que el documento principal, las restricciones de seguridad del navegador impedirán el acceso a su objeto de documento de esta o de cualquier otra manera.
contentDocument
representa el documento de un iframe (objeto DOM). No es equivalente a html
ya que los documentos tienen sus propias propiedades, sin embargo, si escribe:
myFrame.contentDocument.body
Obtendrás el cuerpo mismo.
Es compatible con todos los navegadores, con una pequeña modificación: para el uso de Internet Explorer
myFrame.contentWindow.document
Disfruta, Nili