일반적인 코드 :
<iframe src = "http://www.baidu.com"marginwidth = "0"Marginheight = "0"Scrolling = "no"frameborder = "0"width = "350"> </iframe> <iframe src = "// www.vevb.com/like.phppup?href! Frameborder = "0"style = "테두리 : 없음; 너비 : 450px; 높이 : 80px"> </iframe>
프레임, iframe 프레임 워크 및 HREF 방향에 대한 JavaScript 액세스
1. 프레임
1. 부모에서 자식 프레임까지 참조
위의 원리를 알면 부모 프레임 워크에서 아동 프레임 워크를 참조하는 것이 매우 쉬워집니다.
Window.frames [ "Framename"];
이것은 페이지에서 framename이라는 서브 프레임을 참조합니다. 참조 프레임 워크에 따라 서브 프레임 내에서 서브 프레임을 참조하려면 실제로 창 객체의 특성이므로 다음과 같이 구현할 수 있습니다.
Window.frames [ "Framename"]. 프레임 [ "Framename2"];
이런 식으로 2 차 서브 프레임이 참조되며, 다층 프레임 워크의 참조를 실현할 수 있습니다.
2. 자식 프레임에서 부모 프레임까지 참조
각 창 객체에는 부모 프레임 워크를 나타내는 상위 속성이 있습니다. 프레임 워크가 이미 최상위 프레임 워크 인 경우 Window.parent는 프레임 워크 자체를 나타냅니다.
3. 형제의 틀 사이의 인용문
두 프레임이 동일한 프레임의 동일한 서브 프레임 인 경우 형제 프레임이라고하며 상위 프레임을 통해 참조 할 수 있습니다. 예를 들어, 페이지에는 2 개의 서브 프레임이 포함됩니다.
<frameset rows =”50%, 50%”> <frame src =”1.html”name =”frame1 ″ /> <frame src =”2.html”name =”frame2 ″ /> < /frameset>
Frame1에서는 다음 명령문을 사용하여 frame2를 참조 할 수 있습니다.
self.parent.frames [ "frame2"];
4. 다른 수준의 프레임 워크 사이의 참조
프레임 워크의 계층은 최상위 프레임 워크를위한 것입니다. 레벨이 다를 때, 당신이있는 레벨과 다른 프레임 워크의 레벨과 이름을 알고, 프레임 워크에서 참조 된 창 객체의 속성을 사용하면 다음과 같이 쉽게 액세스 할 수 있습니다.
self.parent.frames [ "childname"]. 프레임 [ "targetframename"];
5. 최상위 프레임 워크에 대한 참조
상위 속성과 유사하게, 창 객체에는 상단 속성도 있습니다. 예를 들어 프레임 워크 자체가 최상위 레벨 프레임 워크인지 여부를 결정하는 데 사용할 수있는 최상위 프레임 워크에 대한 참조를 나타냅니다.
코드 사본은 다음과 같습니다.
//이 프레임 워크가 최상위 프레임 워크인지 판단합니다
if (self == top) {
// dosomething
}
지금 바로
코드 사본은 다음과 같습니다.
if (window.top! = window.self) {
// dosomething
}
프레임 워크의로드 페이지를 변경하십시오
프레임에 대한 참조는 창 객체에 대한 참조입니다. 창 객체의 위치 속성을 사용하면 프레임의 탐색을 변경할 수 있습니다.
Window.frames [0] .location = "1.html";
다른 프레임 워크 내에서 JavaScript 변수 및 함수를 참조하십시오
다른 프레임 워크 내에서 JavaScript 변수 및 기능을 참조하는 기술을 도입하기 전에 다음 코드를 살펴 보겠습니다.
<script language =”javaScript”type =”text/javaScript”> <! function hello () {alert ( "hello, ajax!");} window.hello (); /// script>2. Iframe
엄격히 프레임 어레이와 Document.all을 사용해야합니다.
코드 사본은 다음과 같습니다.
<iframe id = myiframe src =”정보 : <input type = checkbox name = mycheckbox value = mycheckbox>”> </iframe>
<입력 유형 = 버튼 onclick =”alert (document.frames.myiframe.document.all.mycheckbox.checked)”>
3.href
1. 링크 된 OnClick 이벤트가 먼저 실행되고 HREF 속성 (Page Jump 또는 JavaScript Pseudo-Link)에 따라 작업이 이어집니다.
2. 링크에 HREF와 ONCLICK이 모두 있다고 가정하면 HREF 속성에 따른 조치를 실행하지 않으려면 OnClick은 RETURN 값의 RETURN 값을 가져와야합니다. 믿지 않으면 Gogoogle 함수에서 Return False를 주석 할 수 있습니다.
3. 페이지가 너무 길고 스크롤 막대가 있고 링크 된 OnClick 이벤트를 통해 작업을 수행하려는 경우. HREF 속성은 JavaScript로 설정되어야합니다 : void (0); 불필요한 페이지 점프를 방지하는 #대신;
4. 링크 된 href 속성에서 리턴 값이있는 함수가 호출되면 현재 페이지의 내용 이이 함수의 반환 값으로 대체됩니다.
5. 시프트 키를 유지할 때 약간의 차이가있을 것입니다.
6. 내가 오늘 발생한 문제는 부모의 노드에 IE6.0에서 HREF 형태로 액세스 할 수 없다는 것입니다.
7. JavaScript : Protocol을 A의 HREF 속성으로 사용하지 마십시오. 이는 Window의 불필요한 트리거링을 유발할뿐만 아니라 IE에서 GIF 애니메이션 이미지 재생을 중단합니다.
좋다:
<a href = "javaScript : void (0)"onclick = "linkchangepwd ()"> 비밀번호 변경 </a>
프레임의 높이를 조정하십시오
코드 사본은 다음과 같습니다.
Window.onload = function () {
parent.document.getElementById ( 'cultionEframe'). style.height = document.body.clientHeight + "px";
}