JavaScript iframes_javascript スキルの相互運用性の簡単な分析
iframe 要素は、ドキュメント内のドキュメント、またはフローティング フレームのようなものです。 iframe の操作は常に難しい点であり、この点に関する記事はインターネット上に数多くあります。以下、私自身の経験をもとにメモを整理して記録していきます。
1. ページ
3 つのページ: 親ページと 2 つの子ページは、親ページの 2 つの iframe 内にあります。
1. 親ページ MainForm.aspx
<CODE jQuery1255503204984="2"><SPAN class=pun><%</SPAN><SPAN class=pln>@ </SPAN><SPAN class=typ>Page</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>Language</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"C#"</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>AutoEventWireup</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"true"</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>CodeBehind</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"MainForm.aspx.cs"</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>Inherits</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"Test.MainForm"</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>%></SPAN><SPAN class=pln><br><br></SPAN><SPAN class=dec><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun><</SPAN><SPAN class=tag>html</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>xmlns</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"http://www.w3.org/1999/xhtml"</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun><</SPAN><SPAN class=tag>head</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>runat</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"server"</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>title</SPAN><SPAN class=pun>></</SPAN><SPAN class=tag>title</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun></</SPAN><SPAN class=tag>head</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun><</SPAN><SPAN class=tag>body</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>form</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>id</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"form1"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>runat</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"server"</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>div</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>ul</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>li</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> 父页面(文本失去焦点可看结果):</SPAN><SPAN class=pun><</SPAN><SPAN class=tag>input</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>id</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"txtParent"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>name</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"txtParent"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>type</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"text"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>value</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"parent"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>onblur</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"</SPAN><SPAN class=str>iframeTest()</SPAN><SPAN class=atv>"</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>/></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>li</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>li</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>iframe</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>src</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"FrameA.aspx"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>id</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"iframeA"</SPAN><SPAN class=pun>></</SPAN><SPAN class=tag>iframe</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>li</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>li</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>iframe</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>src</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"FrameB.aspx"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>id</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"iframeB"</SPAN><SPAN class=pun>></</SPAN><SPAN class=tag>iframe</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>li</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>ul</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>div</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>script</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>type</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"text/</SPAN><STRONG><SPAN class=atv><FONT color=#810081>javascript</FONT></SPAN></STRONG><SPAN class=atv>"</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=kwd>function</SPAN><SPAN class=pln> iframeTest</SPAN><SPAN class=pun>()</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=pun>}</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>script</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>form</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun></</SPAN><SPAN class=tag>body</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun></</SPAN><SPAN class=tag>html</SPAN><SPAN class=pun>></SPAN></CODE>
2. サブページ A
<CODE jQuery1255503204984="3"><SPAN class=pun><%</SPAN><SPAN class=pln>@ </SPAN><SPAN class=typ>Page</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>Language</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"C#"</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>AutoEventWireup</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"true"</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>CodeBehind</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"FrameA.aspx.cs"</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>Inherits</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"Test.FrameA"</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>%></SPAN><SPAN class=pln><br><br></SPAN><SPAN class=dec><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun><</SPAN><SPAN class=tag>html</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>xmlns</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"http://www.w3.org/1999/xhtml"</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun><</SPAN><SPAN class=tag>head</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>runat</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"server"</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>title</SPAN><SPAN class=pun>></</SPAN><SPAN class=tag>title</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>script</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>type</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"text/javascript"</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=com>//子页面与父页面之间的操作 </SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>function</SPAN><SPAN class=pln> getParent</SPAN><SPAN class=pun>()</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=pun>}</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=com>//当前子页面与另外一个子页面之间的操作</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>function</SPAN><SPAN class=pln> getAnotherChild</SPAN><SPAN class=pun>()</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=pun>}</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>script</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><br><br></SPAN><SPAN class=pun></</SPAN><SPAN class=tag>head</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun><</SPAN><SPAN class=tag>body</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>form</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>id</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"form1"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>runat</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"server"</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>div</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> 子页面1(文本失去焦点可看结果):</SPAN><SPAN class=pun><</SPAN><SPAN class=tag>input</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>id</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"txtUserName"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>name</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"txtUserName"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>type</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"text"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>value</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"jeff wong"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>onblur</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"</SPAN><SPAN class=str>getParent()</SPAN><SPAN class=atv>"</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>/></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>div</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>form</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun></</SPAN><SPAN class=tag>body</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun></</SPAN><SPAN class=tag>html</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN></CODE>
3. サブページ B
<CODE jQuery1255503204984="4"><SPAN class=pun><%</SPAN><SPAN class=pln>@ </SPAN><SPAN class=typ>Page</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>Language</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"C#"</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>AutoEventWireup</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"true"</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>CodeBehind</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"FrameB.aspx.cs"</SPAN><SPAN class=pln> </SPAN><SPAN class=typ>Inherits</SPAN><SPAN class=pun>=</SPAN><SPAN class=str>"Test.FrameB"</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>%></SPAN><SPAN class=pln><br><br></SPAN><SPAN class=dec><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></SPAN><SPAN class=pln><br><br></SPAN><SPAN class=pun><</SPAN><SPAN class=tag>html</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>xmlns</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"http://www.w3.org/1999/xhtml"</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun><</SPAN><SPAN class=tag>head</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>runat</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"server"</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>title</SPAN><SPAN class=pun>></</SPAN><SPAN class=tag>title</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun></</SPAN><SPAN class=tag>head</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun><</SPAN><SPAN class=tag>body</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>form</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>id</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"form1"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>runat</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"server"</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun><</SPAN><SPAN class=tag>div</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> 子页面2(文本失去焦点可看结果):</SPAN><SPAN class=pun><</SPAN><SPAN class=tag>input</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>id</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"txtUserNameB"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>name</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"txtUserNameB"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>type</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"text"</SPAN><SPAN class=pln> </SPAN><SPAN class=atn>value</SPAN><SPAN class=pun>=</SPAN><SPAN class=atv>"jeffery zhao"</SPAN><SPAN class=pun>/></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>div</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun></</SPAN><SPAN class=tag>form</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun></</SPAN><SPAN class=tag>body</SPAN><SPAN class=pun>></SPAN><SPAN class=pln><BR></SPAN><SPAN class=pun></</SPAN><SPAN class=tag>html</SPAN><SPAN class=pun>></SPAN></CODE>
2. 操作
1. 親ページの操作 子ページ
これは間違いなく、親ページの MainForm.aspx ファイルに実装する必要があります。親ページの JavaScript 関数 iframeTest を変更して、親ページがサブページ要素をどのように取得して操作するかを確認します:
<CODE jQuery1255503204984="5"><SPAN class=pln> </SPAN><SPAN class=kwd>function</SPAN><SPAN class=pln> iframeTest</SPAN><SPAN class=pun>()</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> frame1 </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>getElementById</SPAN><SPAN class=pun>(</SPAN><SPAN class=str>"iframeA"</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> frame2 </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>getElementById</SPAN><SPAN class=pun>(</SPAN><SPAN class=str>"iframeB"</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> frameA </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>frames</SPAN><SPAN class=pun>[</SPAN><SPAN class=str>"iframeA"</SPAN><SPAN class=pun>];</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//等价于 var frameAa = document.frames.iframeA;</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> frameB </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>frames</SPAN><SPAN class=pun>[</SPAN><SPAN class=str>"iframeB"</SPAN><SPAN class=pun>];</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//等价于 var frameBb = document.frames.iframeB;</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=com>//**********************************************</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frame1 </SPAN><SPAN class=pun>==</SPAN><SPAN class=pln> frameA</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//false</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frame2 </SPAN><SPAN class=pun>==</SPAN><SPAN class=pln> frameB</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//false</SPAN><SPAN class=pln><br><br> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frame1</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>src</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//FrameA.aspx</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frame1</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>location</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//undefined</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frameA</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>src</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//undefined</SPAN><SPAN class=pln><br><br> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frameA</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>location</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//location</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frameA</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>location</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><br><br> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frame1</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>body</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>innerHTML</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//这里返回的是MainForm.aspx的body里的innerHTML</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frame1</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>documentElement</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>innerHTML</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//这里返回的是MainForm.aspx的html里的innerHTML</SPAN><SPAN class=pln><br><br> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frameA</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>body</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>innerHTML</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//这里返回的是FrameA.aspx的body里的innerHTML</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>frameA</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>documentElement</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>innerHTML</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//这里返回的是FrameA.aspx的html里的innerHTML</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=com>//********************************************** </SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> childFrameDoc </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> </SPAN><SPAN class=kwd>undefined</SPAN><SPAN class=pun>;</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=com>//取FrameA.aspx内的input文本</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>if</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>all</SPAN><SPAN class=pun>)</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=com>//IE</SPAN><SPAN class=pln><BR> childFrameDoc </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> frameA</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>;</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//*** 如果是frame1,就取不到FrameA.aspx页面里的input ***</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun>}</SPAN><SPAN class=pln> </SPAN><SPAN class=kwd>else</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=com>//Firefox</SPAN><SPAN class=pln><BR> childFrameDoc </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> frameA</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>contentDocument</SPAN><SPAN class=pun>;</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun>}</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>childFrameDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>body</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>innerHTML</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> childTxt </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> childFrameDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>getElementById</SPAN><SPAN class=pun>(</SPAN><SPAN class=str>"txtUserName"</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> childTxtByName </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> childFrameDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>getElementsByName</SPAN><SPAN class=pun>(</SPAN><SPAN class=str>"txtUserName"</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><br><br> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>childTxt </SPAN><SPAN class=pun>==</SPAN><SPAN class=pln> childTxtByName</SPAN><SPAN class=pun>[</SPAN><SPAN class=lit>0</SPAN><SPAN class=pun>]);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//true</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>childTxt</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>value</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//jeff wong</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>childTxtByName</SPAN><SPAN class=pun>[</SPAN><SPAN class=lit>0</SPAN><SPAN class=pun>].</SPAN><SPAN class=pln>value</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>// jeff wong</SPAN><SPAN class=pln><br><br><BR> </SPAN><SPAN class=com>//取FrameB.aspx内的input文本</SPAN><SPAN class=pln><BR> childFrameDoc </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> </SPAN><SPAN class=kwd>undefined</SPAN><SPAN class=pun>;</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>if</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>all</SPAN><SPAN class=pun>)</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=com>//IE</SPAN><SPAN class=pln><BR> childFrameDoc </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> frameB</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>;</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun>}</SPAN><SPAN class=pln> </SPAN><SPAN class=kwd>else</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=com>//Firefox</SPAN><SPAN class=pln><BR> childFrameDoc </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> frameB</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>contentDocument</SPAN><SPAN class=pun>;</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun>}</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>childFrameDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>body</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>innerHTML</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> childTxt </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> childFrameDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>getElementById</SPAN><SPAN class=pun>(</SPAN><SPAN class=str>"txtUserNameB"</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> childTxtByName </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> childFrameDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>getElementsByName</SPAN><SPAN class=pun>(</SPAN><SPAN class=str>"txtUserNameB"</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><br><br> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>childTxt </SPAN><SPAN class=pun>==</SPAN><SPAN class=pln> childTxtByName</SPAN><SPAN class=pun>[</SPAN><SPAN class=lit>0</SPAN><SPAN class=pun>]);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//true</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>childTxt</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>value</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//jeffery zhao</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>childTxtByName</SPAN><SPAN class=pun>[</SPAN><SPAN class=lit>0</SPAN><SPAN class=pun>].</SPAN><SPAN class=pln>value</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>// jeffery zhao</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=pun>}</SPAN></CODE>
概要:
a. iframe オブジェクトが配置されているページのオブジェクト モデル (document.getElementById("iframeId") によって取得) を通じて、iframe オブジェクトのプロパティにアクセスできますが、そのコンテンツにはアクセスできません。 。
b. フレーム コレクションは、iframe コンテンツ (document.frames["iframeName"] を通じて取得) へのアクセスを提供します。通常、フレーム コレクションを使用して、iframe に含まれる要素を読み書きします。
c. iframe の src または border、scrolling およびその他の属性 (プロパティとは異なる概念) のみを変更したい場合は、scrollHeight、innerHTML などのプロパティをタグ内に記述することはできません。
d. iframe で関数または dom 要素を使用する場合 (たとえば、iframe の document.body のコンテンツを取得する場合)。 、変数はフレーム コレクションを介して渡される必要があります。これは、完全な DOM モデルを取得し、そのメソッドが iframe ページの呼び出し時にオブジェクトを取得するだけです。
2.
子ページは親ページ
を操作します。ここでは、サブページ FrameA.aspx を例に挙げます。サブページ A では、関数 getParent を通じて MainForm.aspx の dom 要素を取得し、通常の dom 要素の操作に従うだけです:
<CODE jQuery1255503204984="6"><SPAN class=pln> </SPAN><SPAN class=com>//子页面与父页面之间的操作 </SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>function</SPAN><SPAN class=pln> getParent</SPAN><SPAN class=pun>()</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>if</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>(</SPAN><SPAN class=kwd>self</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>!=</SPAN><SPAN class=pln> top</SPAN><SPAN class=pun>)</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> oDoc </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> top</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>parent</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>;</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>oDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>body</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>innerHTML</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> <BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>oDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>documentElement</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>innerHTML</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> <BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>oDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>frames</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>length</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//返回结果:2 表明父页面有两个iframe</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=com>//操作父页面的文本框</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> oTxt </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> oDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>getElementById</SPAN><SPAN class=pun>(</SPAN><SPAN class=str>"txtParent"</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>oTxt</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>value</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=pun>}</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>else</SPAN><SPAN class=pln> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=str>"不在框架中"</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun>}</SPAN></CODE>
3.
サブページ操作 サブページ これも、メイン ページを使用して間接的に別のサブページを取得する必要があります。ここでもサブページ A を例として取り上げます。メインページを通じて間接的にサブページ B を取得し、サブページ A は通常の dom 操作と同様にサブページ B の制御と操作を完了します。
まず getAnotherChild() 関数を変更します。
<CODE jQuery1255503204984="7"><SPAN class=pln> </SPAN><SPAN class=com>//当前子页面与另外一个子页面之间的操作</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>function</SPAN><SPAN class=pln> getAnotherChild</SPAN><SPAN class=pun>()</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=kwd>self</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>location</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>href</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//当前页面的url</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=com>//通过父页面,间接获取另外一个子页面</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>if</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>(</SPAN><SPAN class=kwd>self</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>!=</SPAN><SPAN class=pln> top</SPAN><SPAN class=pun>)</SPAN><SPAN class=pln> </SPAN><SPAN class=pun>{</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> oDoc </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> top</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>parent</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>;</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> oAnotherFrame </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> oDoc</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>frames</SPAN><SPAN class=pun>[</SPAN><SPAN class=str>"iframeB"</SPAN><SPAN class=pun>];</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//返回另外一个iframe</SPAN><SPAN class=pln><br><br> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>oAnotherFrame</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>location</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>oAnotherFrame</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>body</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>innerHTML</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>oAnotherFrame</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>documentElement</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>innerHTML</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><br><br> </SPAN><SPAN class=kwd>var</SPAN><SPAN class=pln> oTxt </SPAN><SPAN class=pun>=</SPAN><SPAN class=pln> oAnotherFrame</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>document</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>getElementById</SPAN><SPAN class=pun>(</SPAN><SPAN class=str>"txtUserNameB"</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln><BR> alert</SPAN><SPAN class=pun>(</SPAN><SPAN class=pln>oTxt</SPAN><SPAN class=pun>.</SPAN><SPAN class=pln>value</SPAN><SPAN class=pun>);</SPAN><SPAN class=pln> </SPAN><SPAN class=com>//jeffery zhao</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun>}</SPAN><SPAN class=pln><BR> </SPAN><SPAN class=pun>}</SPAN><SPAN class=pln><BR></SPAN></CODE>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが
