>  기사  >  웹 프론트엔드  >  JS_javascript 스킬의 FRAME 연산 문제 분석 예시

JS_javascript 스킬의 FRAME 연산 문제 분석 예시

WBOY
WBOY원래의
2016-05-16 16:33:111235검색

이 기사의 예는 JS에서 FRAME의 작동을 설명하며 참고용으로 모든 사람과 공유됩니다. 구체적인 분석은 다음과 같습니다.

위 그림은 예시입니다. 여기서는 프레임 간 상호 동작을 간단히 나열하면 다음과 같습니다. 1. 변수 2. 방법 3. 페이지 간 요소 상호 획득.

1. 먼저 부모(frameABC)에서 시작--------->자식(frameA,frameB,frameC)

① 접근변수명 이름

frameABC에서 작동하는 경우 다음을 수행할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
window.frames("frameA").contentWindow.name

또는

코드 복사 코드는 다음과 같습니다:
document.getElementById("frameA").contentWindow. 이름

또는

코드 복사 코드는 다음과 같습니다.
jquery: window.$("#frameA") [0] .contentWindow.name

② 접근방법 func

frameABC에서 작동하는 경우 다음을 수행할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
window.frames("frameA").contentWindow.func();
또는

코드 복사 코드는 다음과 같습니다:
document.getElementById("frameA").contentWindow. func() ;
또는

코드 복사 코드는 다음과 같습니다.
jquery: window.$("#frameA") [0] .contentWindow.func();
③ 하위 페이지 요소에 액세스: 사용자 이름

frameABC에서 작동하는 경우 다음을 수행할 수 있습니다.


코드 복사 코드는 다음과 같습니다.window.frames("frameA").contentWindow.document.getElementById( "사용자 이름" );
또는

코드 복사 코드는 다음과 같습니다:document.getElementById("frameA").contentWindow. document.getElementById("사용자 이름");
또는

코드 복사 코드는 다음과 같습니다.jquery: window.$("#frameA") [0] .contentWindow.$("#사용자 이름");
2. 그런 다음 하위(frameA, 프레임B, 프레임C)------------> 상위(frameABC)로

① 상위 페이지 변수 이름에 액세스합니다. 프레임A(하위 페이지)에서 작업하는 경우 다음을 수행할 수 있습니다.


코드 복사 코드는 다음과 같습니다.window.parent.name;
② 상위 페이지 메소드 func에 액세스합니다. 프레임A(하위 페이지)에서 작업하는 경우 다음을 수행할 수 있습니다.


코드 복사 코드는 다음과 같습니다.window.parent.func();
③ 상위 페이지 요소 사용자 이름에 액세스합니다. 프레임A(하위 페이지)에서 작업하는 경우 다음을 수행할 수 있습니다.


코드 복사 코드는 다음과 같습니다.window.parent.$("#username")
또는:

코드 복사 코드는 다음과 같습니다. window.parent.document.getElementById("username ");

요약:

프레임은 단지 페이지 프레임일 뿐입니다. 서브프레임의 요소를 조작하려면 먼저 window 또는 contentWindow에 들어가야 합니다. 하위 페이지에서 상위 페이지에 접근하려면 상위-하위 관계를 계산하여 여러 레이어로 나누어야 합니다.

페이지 로딩 문제에 대한 다른 게시물을 온라인에서 읽었습니다. 아마도 하위 프레임 페이지가 로드되기 전에 요소를 조작하면 버그가 발생할 수 있다는 의미일 것입니다. 관심 있는 친구는 목표한 방식으로 테스트할 수 있으며 새로운 이득이 있을 것이라고 믿습니다!

이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.