contentDocument pour un iframe
qu'est-ce que" contentDocument "représente exactement pour une iframe (ou même l'ancien élément" frame")? Est-il équivalent à l'élément "html" ou à l'élément "body"? Qu'est-ce que ça sert? Et cette propriété est-elle prise en charge par tous les navigateurs?
3 réponses
contentDocument de type de Document, readonly, introduite dans DOM Niveau 2 Le document que ce cadre contient, s'il y en a et qu'il est disponible, ou null autrement.
de L'élément DOM iframe, les scripts peuvent accéder à l'objet window de la page HTML incluse via le contentWindow propriété. La propriété contentDocument fait référence à l'élément document à l'intérieur de l'iframe (ce qui équivaut à contentWindow).document), mais N'est pas pris en charge par les versions Internet Explorer avant IE8.
le document cette page ou ce cadre contient
Cette propriété est nouvelle dans Windows Internet Explorer 8
donc pour obtenir le innerHTML de l'élément de corps que vous pourriez utiliser
iframe.contentDocument.getElementsByTagName("body")[0]
ou
iframe.contentDocument.body
dans les navigateurs actuels.
contentDocument
est le moyen standardisé pour mettre la main sur l'objet Document
de l'iframe ou du cadre. C'est le même objet que JavaScript dans l'iframe accéderait par document
.
comme indiqué dans d'autres réponses, IE ne l'a pas supporté avant la version 8 mais a pris en charge l'accès à l'objet Window
de l'iframe via contentWindow
. Une façon de mettre la main sur l'élément <body>
d'une iframe est donc:
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
var iframeBody = iframeDoc.body;
notez que si l'iframe n'est pas servi à partir du même domaine que le document principal, les restrictions de sécurité du navigateur empêcheront l'accès à son objet document de cette manière ou de toute autre manière.
contentDocument
représente le document d'une iframe (objet DOM). Il n'est pas équivalent à html
puisque les documents ont leurs propres propriétés, cependant si vous tapez:
myFrame.contentDocument.body
, Vous obtiendrez le corps lui-même.
il est supporté dans tous les navigateurs, avec une modification minuscule: pour L'utilisation D'Internet Explorer
myFrame.contentWindow.document
Profiter De, Nili