구체적인 상황은 다음과 같습니다.
페이지가 완전히 로드되기 전에 마우스 클릭이 iFrame을 생성하는 스크립트 이벤트를 트리거합니다.
우선 페이지가 완전히 로드된 후 트리거 위치에 스크립트 이벤트를 동적으로 추가하려고 생각했습니다. 이렇게 하면 페이지가 완전히 로드되기 전에는 여기에 스크립트 이벤트가 발생하지 않으며 당연히 오류도 발생하지 않습니다. 보고되었습니다.
위 방법은 다소 소극적이어서 iframe 생성 스크립트를 보러 갔습니다.
일반적인 페이지 구조는
< ;body>
iframe을 생성하는 스크립트는 다음과 같습니다.
function CreateiFrame(){
var objBody = document.getElementsByTagName("body").item(0);
var objiFrame = document.createElement("iframe")
objBody.appendChild(objiFrame); >
appendChild() 메서드는 노드의 하위 노드 목록 끝에 새 하위 노드를 추가합니다. 따라서 iframe을 생성한 후 DOM은 다음과 같습니다.
코드 복사
.....
iframe>
코드 복사
코드는 다음과 같습니다. : function CreateiFrame(){ var objBody = document.getElementsByTagName("body").item(0) var objiFrame = document.createElement("iframe");
objBody.insertBefore(objiFrame,document.getElementById("form1")); //form1은
}
insertBefore() 메서드의 ID입니다. 노드의 하위 노드 목록 새 노드를 삽입합니다.
insertBefore에는 설정할 수 있는 매개변수가 2개 있습니다. 첫 번째 매개변수는appendChild와 동일하고 두 번째 매개변수는 null일 수 있으며 효과는 insertBefore() 메소드와 동일합니다. 새 하위 노드 앞에 삽입됩니다.
코드 복사
<양식 ID "form1">
;/본문>