0


0

asp.netページでiframeをロードする

私はjavascriptsをロードするマスターページを継承するasp.netページを持っています.html(javascriptへのリンクを含む)を指すページにiframeを配置するのが好きです。私のjava scripsは機能しますか?

2 Answer


2


「」内のページによってインポートされたJavascriptファイルは、実行コンテキストを理解していれば問題なく「機能」します。 ``は、独自のDOMを使用して、親ページとは別のページコンテキストを提供します。 ページが同じドメインからのものである場合、「DOMは親DOMにリンクされ、親DOMは」にリンクされます。

つまり、 ``から、あなたのコードがそれが非常に独自のウィンドウにあると仮定した場合、おそらくうまく動作します(またはそれが持っているどんなバグがあっても:-)しかし、それは.getElementById( "foo") `を使用して、_parent_ページ内の要素を検索します。 ページの境界を越えるには、コードが明示的に `window.parent`リンクを使用して、含まれているページに到達する必要があります。

私が言っているのは、「親ページの「インポート」または「#include」機能とは異なることを理解する必要があるということです。 これは、完全な「サブページ」を作成する方法です。


1


はい、JavaScriptはiframe内で実行できます。 ただし、異なるドキュメント/ウィンドウオブジェクトで作業しており、ウィンドウオブジェクトが異なるため、iframeから親に通信するには、window.parentを使用して親ウィンドウのウィンドウオブジェクトを取得する必要があります。

さまざまなコンテキストで作業しています。 window.parentを無視すると、iframeで実行されるJavascriptコードは、孤立して実行されるjavascriptコードと考えることができます。

冗長な答えのように思えますが、私は本当にもっとうまく説明できません。