>  기사  >  웹 프론트엔드  >  iframe 상위 창과 하위 window_javascript 기술 간의 상호 호출 방법 모음

iframe 상위 창과 하위 window_javascript 기술 간의 상호 호출 방법 모음

WBOY
WBOY원래의
2016-05-16 18:13:45958검색
1. 상위 창은 iframe 하위 창 메서드를 호출합니다.
1. HTML 구문: 2. 상위 창은 하위 창을 호출합니다: myFrame.window.functionName();
3. 하위 창은 상위 창을 호출합니다: parent.functionName()
간단히 말하면 호출되는 변수 또는 함수입니다. 자식 창에 부모를 추가하면 됩니다.
4. 부모 창 페이지 소스 코드:

코드 복사 코드는 다음과 같습니다. 다음:



=button value=".html onclick="callChild()">에서 자식 함수 say() 호출 중
🎜>


5. 하위 창 페이지:



코드 복사 >
위 내용은 IE에서는 잘 작동하지만 Firefox에서는 작동하지 않습니다. Firefox에서 호출 방법은 다음과 같아야 합니다.
상위 창이 하위 창을 호출합니다. window.frames["iframe_ID"].document.getElementById("iframe_document_object").object_attribute = attribute_value 예: window. 프레임[" iframe_text"].document.getElementById("myH1").innerHTML= "http://hi.jb51.net";
하위 창은 상위 창을 호출합니다. parent.document.getElementById("parent_document_object" ).object_attribute = attribute_value
예: parent.document.getElementById("myH1").innerHTML = "http://jb51.net"
3. 완전한 예
test.htm




코드 복사


코드는 다음과 같습니다.


> 테스트 페이지




입력 유형="버튼" ="show();" 값="제출"/>

d

>



frame_test.htm




코드 복사


코드는 다음과 같습니다.



<머리>

无标题文档

<스크립트 언어="javascript">
함수 show()
{
parent.document.getElementById("myH1").innerHTML = http://jb51.net;
}

<본문>














test.htm里면firefox下访问iframe 必须用name,不能用id,所以要改为name="iframe_test" 。(http://chenling1018.blog.163.com/blog/ static/1480254200811891041694/)
三、如果是javascript脚本
给iframe加一个ID如< ;iframe id=frmList… iframe id=frmList runat=server ……
지금은
frmList.Attributes.Add("src",strNewUrl);