「contentDocument」はiframe(または古い「frame」要素)に対して正確に何を表していますか? 「html」要素または「body」要素と同等ですか?それは何の用途ですか?また、このプロパティはすべてのブラウザでサポートされていますか?
dOMレベル2で導入されたドキュメントタイプのcontentDocument、読み取り専用、このフレームに含まれるドキュメント(存在する場合はそれが使用可能)、それ以外の場合はnull。
スクリプトは、DOM iframe要素から、contentWindowプロパティを介してインクルードされたHTMLページのウィンドウオブジェクトにアクセスできます。 contentDocumentプロパティはiframe内のドキュメント要素を参照します(これはcontentWindow.documentと同等です)が、IE8より前のバージョンのInternetExplorerではサポートされていません。
このページまたはフレームに含まれるドキュメント
このプロパティはWindowsInternet Explorer8の新機能です
したがって、body要素のinnerHTMLを取得するには、
iframe.contentDocument.getElementsByTagName("body")[0]
または
iframe.contentDocument.body
今日のブラウザで。
contentDocument
は、iframeまたはフレームのDocument
オブジェクトを取得するための標準化された方法です。これは、iframe内で実行されているJavaScriptがdocument
を介してアクセスするのと同じオブジェクトです。
他の回答に記載されているように、IEはバージョン8までサポートしていませんでしたが、Window
を介したiframeのcontentWindow
オブジェクトへのアクセスはサポートしていました。クロスブラウザしたがって、iframeの<body>
要素を取得する方法は次のとおりです。
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
var iframeBody = iframeDoc.body;
Iframeがメインドキュメントと同じドメインから提供されていない場合、ブラウザのセキュリティ制限により、この方法またはその他の方法でドキュメントオブジェクトにアクセスできないことに注意してください。
contentDocument
は、iframe(DOMオブジェクト)のドキュメントを表します。ドキュメントには独自のプロパティがあるため、html
と同等ではありませんが、次のように入力すると、
myFrame.contentDocument.body
あなたは体自体を手に入れるでしょう。
わずかな変更を加えて、すべてのブラウザでサポートされています。InternetExplorerで使用する場合
myFrame.contentWindow.document
楽しんで、ニリ