IFRAMEがネストされた、jQueryの取得要素

プロジェクト、特にプロジェクト管理の背景、IFRAMEの話、iframeのネストされたページを使用しますでは、実際にそれを避けるために最善である避けるために、難しいことです。(管理およびデバッグプロセスが低酸素空気になりがち以来!!!ハッハッハ~~~)そうでなければ、あなたの好気性シリンダーカザフスタンを運ぶために準備

我々は、などのページ要素$(「クラス」)、またはのdocument.getElementById()を取得、しかしifraimはあなたの中ifraim要素を取得したい場合がある、あなたは非常に奇妙な質問があるでしょう。通常時に、ページ要素への直接アクセスは、実際にはそれほど取得していますが、チェック要素を開いたとき、彼らが得ることができたときにコンソールをデバッグします。最初に私は本当に私に長い時間のために頭痛を与えて、この質問に遭遇しました。調査とクエリデータバックした後、それらだけの原因を見つけるために:

 

まず、ドメインと:
1、親ページ取得サブページ要素は:
注意:のonloadイベント
jQueryの取得:
$( "アイフレーム")の内容を()検索( "ホルダー")......; ..

(ネストされた3つ、またはそれ以上の時間)
$( 'のiframe')。内容()。( 'のiframe')を検索します。内容()。( "アイフレーム")を検索し......


jsが取得:
。window.frames [ "ホルダー"] contentWindow.documentまたはwindow.frames [0] .contentWindow.document(推奨されません)
(ネストされた3以上の時間が)
window.frames [0] .contentWindow。 window.frames [0](...)。 contentWindow.document


追加:
:のDocument.Framesとwindow.frames間の差
のDocument.FramesだけIE、Operaのサポート、window.framesに相当。現在のページ内のウィンドウオブジェクトのセットを取得するために使用されます。
使用のDocument.FramesのFirefox、Choromeにおいて、サファリフレーム要素を取得することができない
window.frames [ 'をMyFrame']の代わりのDocument.Frames( 'をMyFrame')またはのDocument.Frames [ 'をMyFrameを']。
注:window.framesのみ書き込むことwindow.frames [ 'をMyFrameは'] window.frames( 'をMyFrame')を書き込むことができません

注:一部のブラウザはインラインフレームまたはcontentWindowエラーをサポートしていません。

あなたは試すことができます。

VAR X =のdocument.getElementById( "をMyFrame")。
VaRのY =(x.contentWindow || x.contentDocument)。
IF(y.document)Y = y.document。
y.body.style.backgroundColor = "#0000FFの";

 

 

 

親ページ要素を取得する2、サブページ:
1を、DOMのiframe親ページに対してサブページ
のjQueryを取得する:
$(「#ホルダー」、parent.document)を 

JS取得:
parent.document.getElementById(「ホルダー」)  

2、サブページDOMのページで親を取得するために、他のiframeサブページ
:jQueryの取得
$(「#ホルダー」、window.parent.frames [「ホルダー」]ドキュメントを。)

JS得る:
。window.parent.frames [「ホルダー」]ドキュメント.getElementById(「所有者」)が

追加:
オープナーと親の間の差
オープナー:
オブジェクトのwindow.openメソッドでページ参照のオープナーをwindow.openページを実行します。例えば:それは対象ページによって操作することができるように、ページBのwindow.open()メソッドによってページング、ページBは、ページは、オープナーで参照することができます。

親:
IFRAMEの親、アクセスオブジェクトの親ページで生成されたサブページフレーム。たとえば、次のページには、親オブジェクトによってIFRAMEまたはフレーム、フレームまたはインラインフレームページを参照することができるオブジェクトのページを含みます。これは、ページを取得したり、値を返すことができます。

概要:
親がFRAMESETで、親ウィンドウを指し、FRAMEは、親フレームセットのウィンドウです。 
新しいウィンドウが対応する作成するWINDOW.OPEN他の方法で元のウィンドウのオープナーを指します。
親は、オブジェクトのフレームに関して、親ウィンドウです。 
window.open開いているウィンドウを持つ親ウィンドウで、それに対するオープナーは、前提は唯一のwindow.open開いています。

 

おすすめ

転載: www.cnblogs.com/zyfenblog/p/11453869.html