여러 프레임에 걸쳐 있어야하는 팝업 창이 있으므로이 작업을 수행하기 위해 window.createPopup을 사용하고 있습니다.팝업 창 안의 빈 DOM
function ShowMyPopup() {
notificationPopup = window.createPopup();
$(notificationPopup.document.body).load("/notification.html");
notificationPopup.show($(sourceFrame.document.body).width() - 510, $(sourceFrame.document.body).height() - (510 - $(sourceFrame.document.body).height()), 500, 500, sourceFrame.document.body);
}
이 꽤 잘 작동하는 것 같다 : (IE6, 7, 8)은 다음
나는 팝업을 만드는 데 사용하고 기능입니다. 내가해야 할 팝업 창이 보인다. 문제는 내가하는 일과 관계없이 결과 팝업 창에서 DOM 요소에 액세스 할 수없는 것입니다. 나는 다양한 jQuery 메서드뿐만 아니라 똑 바른 getElementById를 시도했으며 모두 NULL을 리턴한다. 다음은 notification.html의 내용입니다 :
<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
alert($(document).html());
alert($("#divNotification").html());
alert(document.getElementById("divNotification"));
});
</script>
</head>
<body>
<div id="divNotification" onclick="$(this).toggle();">
<h3>Some Notification!</h3>
Testing 1234...
</div>
</body>
</html>
는 내가 jQuery를 작동하는지 알고 있지만, 세 경고는 단순히 "NULL"을 보여 세 가지 경고를 참조 때문에. 결과 div를 클릭하면 onClick이 발생하지만 "Object Expected"오류가 발생합니다.
여기에 무슨 일이 일어나고 있습니까?
데모에서 jQuery는 포함되어 있지 않습니다. –
'$ (document) .html()'을 사용하여 문서의 html을 가져 오려고합니다.'("html") .html()'을 사용해야합니다. 이로 인해 첫 번째 경고가 null을 반환합니다. 다른 두 가지는 DOM에 액세스하려고 할 때 준비가되지 않아 발생할 수 있습니다. 시간 제한을 추가하여 지연하십시오. –
Rob-jQuery는 부모 페이지에 포함되어 있으며, 팝업을 통해 작동 할 수 있습니다. (아니면 그렇지 않습니까?) 어떤 경우에도 notification.html의 ref jQuery에 스크립트 태그를 추가하면 아무런 차이가 없습니다. – RMD