본문 바로가기

프로그래밍/Javascript

익스플로러 하위버전에서 팝업창의 document.write() 엑세스 거부시

익스플로러 하위버전의 경우 아래와 같은 함수에서 obj.document.wirte() 함수에서 엑세스거부가 발생합니다.

기존의 함수

function popup_print() {
var html = "hello!";
var print_win = window.open("", "print_win", "width=100px,height=100px,location=no,status=no");
print_win.document.open();
print_win.document.write(html);
print_win.document.close();
print_win.print();
print_win.close();
}

아래와같이 수정하니까 정상적으로 처리됩니다.

function popup_print() {
var html = "hello!";
var print_win = window.open("", "print_win", "width=100px,height=100px,location=no,status=no");
if (print_win != null) {
try {
print_win.poener = self;
} catch(e) {}
$(print_win.document.body).html(html);
}
print_win.document.close();
print_win.print();
print_win.close();
}