'프로그래밍/Jquery, javascript'에 해당되는 글 2건

  1. 2020.12.14 alert()와 console.log() 활용 4
  2. 2020.10.28 부모창(opener)으로 submit 할때
728x90

javascript 로 무언가 개발을 하다보면 특정내용을 찍어보기 위해 alert() 함수를 많이 사용하게 됩니다.

 

일반적으로 alert(""); 형태 또는 alert(abcd); 형태로 사용하게 되는데 

이 경우에 alert 창을 지우는 행위를 까먹고 안하면 나중에 어디에서 사용했는지 찾는데 오랜 시간이 걸리는 경우가 많습니다.

특히 include 나 iframe 등을 사용한 경우 url을 따라가도 어디에서 발생하는 얼럿인지 도저희 찾기 힘든경우가 많습니다.

 

alert(abcd); 의 경우 향후에 ctrl+f 또는 ctrl+h(이클립스)등으로 검색해야 할 경우

실제 화면에서는 abcd에 담긴 값이 alert으로 나타나기 때문에 

abcd의 해당 내용으로는 alert 위치를 검색하기 힘들게 됩니다.

 

저의 경우에는 테스트시

alert("login page param1 ==="+abcd); 형태로 alert을 사용하는 경우가 많습니다.

이렇게 작업할 경우 실수로 삭제하지 않더라도 

alert("login page param1 === 부분이나 login page param1 === 부분을 검색해보면 쉽게 값을 찾을 수 있습니다.

 

그리고 이보다 더 좋은 사용예는 console.log 일듯 합니다.

주로 크롬에서 많이 개발하지만 IE 에서도 개발자도구를 보면 console 창에 잘 표시가 되고

alert 보다 많은 정보를 담고 있어 사용하기 매우 유용합니다.

 

console.log("console 로그 테스트 입니다."); 형태로 사용한 예 입니다.

 

console.log("window.screen=====",window.screen);

형태로 사용하면 다음과 같은 구조가 나타납니다.

 

브라우저가 가지고 있는 객체에 대한 정보나 현재 화면에서 변수/상수 또는 객체에 담긴 내용들을 확인하거나 제어 할때 매우 유용합니다.

728x90

'프로그래밍 > Jquery, javascript' 카테고리의 다른 글

부모창(opener)으로 submit 할때  (0) 2020.10.28
Posted by 내맘대로내뜻대로
728x90

window.open 으로 열린 popup창에서 부모창으로 정보를 갱신할때 부모창을 타겟으로잡아 submit 해준다.

 

[팝업 오픈시]

function winOpen() {

   document.domain = "myDomain.com"; // 도메인을 일치하지 않을 경우 제어가 안되는 경우가 있다.

   window.open("popup.htm", "myPopup", "width=800, height=600, resizable=no, scrollbars=no") ;

}

 

 

[부모창 제어시]

function openSubmit() {

    document.domain = "myDomain.com";  // 도메인을 일치하지 않을 경우 제어가 안되는 경우가 있다.

    opener.name = "myOpner";

    document.myForm.target = opener.name;

    document.myForm.action = "/what/goWhat.do";

    document.myForm.submit();

    self.close();   //window.close(); 를 사용해도 된다.

}

 

 

 

 

 

 

도메인을 일치시켜야 하는 이유는 크로스 도메인 오류가 발생하는 경우가 있어서인데 다른 도메인의 창을 제어하려할 경우 에러가 발생함을 막기 위하여 브라우저에서 차단하는 경우때문이다.

 

브라우저에서 크로스도메인을 허용하지 않는 이유는 소유하지 않은 페이지에 대한 권한을 주지 않기 위해서이다.

예를 들어 팝업으로 구글이나 네이버창을 열고 오프너가 팝업창에 권한을 행사하여 변경처리 하거나 반대로 팝업에서 오프너에 대한 권한을 행사할수 있게 될 경우 보안문제가 발생한다.

게시판등에 팝업이 뜨도록 작성하고(요즘은 허용되지 않는 경우가 대부분) 그 팝업창에서 오프너를 제어할 수 있는 경우가 예전에 있었고 이에 대한 패치로 크로스 도메인에 대한 패치가 브라우저에 적용되어 있다.

(같은 도메인에서 팝업하고 처리 하는 경우 도메인지정은 생략해도 에러가 안나는 경우가 대부분이다.)

 

간혹 self.close() 또는 window.close() 처리시 submit 처리가 완료되지 않은 상황에서 close()처리가 발생되어 오프너가 정상적으로 동작하지 않는 경우도 있다.

이 경우 close 동작전 timeout 을 0.5초 정도 지정해주거 콜백 처리를 하는 경우가 있다.

 

 

728x90

'프로그래밍 > Jquery, javascript' 카테고리의 다른 글

alert()와 console.log() 활용  (4) 2020.12.14
Posted by 내맘대로내뜻대로