2011-08-16 3 views
0

私は親iframeを持つ親ページを持っています...子iframe内の特定のボタンをクリックすると、あたかもそれが親文書自体から始まったかのようにトリガする機能が必要になります。iframeから関数をトリガーしますが、親ドキュメントからトリガーされたように実行しますか?

私が持っている機能チェーンは、むしろ長く依存しており、多くの変数に依存するものではありません。子フレームのボタンにonclickを追加して関数をトリガすると、変数が認識されないため(子DOMのスコープ内に存在しないため)、連鎖関数が失敗します。

慎重な解決策はありますか?

答えて

1

親フレームに関数parentFunction()が定義されている場合は、parent.parentFunction();と言って子フレームから呼び出すことができます(子に定義されている値に必要なパラメータを渡します)。

(ちなみに、それはおそらくあなたがすべて私はあなたの説明から想定した変数に依存している機能のチェーンを持って良い兆候ではありませんグローバルです。)

+0

ああ...私はあなたが選択することができます知っていましたparent.eleNameを使用して親からの要素を取得することができますが、私はあなたも関数のためにそれを行うことができるかどうかを知りませんでした...これは私の問題を効果的に解決しました...ああ、なぜ私の関数チェーンが依存している、グローバル変数?議論するつもりはありませんが、興味深い点があるかもしれません。 – Abhishek

+0

@Abhishek - 親フレームの要素を直接参照することは避けます。親のHTML構造に依存するように私の子フレームが嫌いです。 'parent.eleName'の代わりに、' parent.getData() '(または何らかの名前が適切である)と言って、そのデータがどこから来るかを決定するために親に任せます。グローバル変数については、異なる機能が異なる目的で使用されているか、サードパーティのライブラリなどと衝突しているような保守上の問題が発生する可能性があるため、最小限に抑える必要があるとの考え方があります。それが助けられたら私の答えを受け入れる。 – nnnnnn

関連する問題