전에 올렸던 포스트에서, 팝업창 오류를 해결하려면 Tabbrowser Extension을 제거하면 된다길래 없앴더니 확실히 다른 곳들은 다 해결이 되었다.
그런데 유독 http://www.kshs.hs.kr:8080/virtual.php 만 해결이 안되고 있다.
플래시에서 FSCommand를 발생시켜 필요한 인자를 넘기면 javascript의 이벤트 핸들러에서 common.js의 Popup2 함수를 호출하는 구조다.
그런데 실행시키면 자바 콘솔에 아래와 같은 에러가 뜨는 것이다. 메시지 박스로 인자 검사를 했을 땐 아무런 문제가 없는데 말이다.
에러: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMJSWindow.open]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://www.kshs.hs.kr:8080/common.js :: Popup2 :: line 34" data: no]
소스 파일: http://www.kshs.hs.kr:8080/common.js
행: 3
거의 같은 구조인 Popup1 함수는 메뉴의 Log-in 버튼 등에서 사용하는데 이건 아무 문제없이 잘 되고 있다. (게다가, Popup2 함수를 사용하던 이벤트 핸들러에 Popup1 함수를 대신 쓰더라도 같은 오류가 발생한다)
[CODE]function Popup1(strURL, nleft, ntop, nwidth, nheight) {
window.open(strURL,"","resizable=no, toolbar=no, status=no, scrollbars=yes, menubar=no, width=" + nwidth + ", height=" + nheight +", left=" + nleft + ", top=" + ntop);
return false;
}
function Popup2(strURL, nleft, ntop, nwidth, nheight) {
window.open(strURL,"","resizable=yes, toolbar=no, status=yes, scrollbars=yes, menubar=no, width=" + nwidth + ", height=" + nheight + ", left=" + nleft + ", top=" + ntop);
return false;
}
[/CODE]
(콤마 뒤의 빈칸은 임의로 넣은 것이며 실제 소스에는 없음)
더 골때리는 건 IE에서는 그나마 아무것도.... 안된다는 것이다. ㅜㅜ
(어차피, 저 소스는 현재 수정이 불가능한 상태이기 때문에 몰라도 그만이지만 나중에 또 이런 걸 개발할 때 생길 수 있는 문제라 미연에 방지하고 싶은 거다)