2. 컴퓨터 이야기/프로그래밍

자바 스크립트, submit() 과 history.back() 이 모두 기술된다면 어떤 것이 실행될까

래빗 크리스 2009. 6. 30. 15:29

만약, submit() 함수와 history.back() 함수가 모두 기술된다면 어떤 것이 실행될까..
아래와 같은 코드가 있다고 하자.. 그러면 어떤 것이 실행될까..? submit() 일까 history.back() 일까..?

<form name="frm" method="post">
</form>

<script>
<!--
function func1(){
  var f = document.forms['frm'];
  f.action = 'http://www.abcdefg.com';
  f.target = '_blank';
  f.submit();
  history.back();
}
//-->
</script>

물론, 정답은 둘다 실행되고, 먼저 기술된 것이 먼저 실행된다.
그런데 만약, f.target 에 '_self' 나 '_top' 이라고 기술하면 어떻게 될까..?
f.submit() 이 실행되고 history.back() 은 실행되지 않는다.
이미 http://www.abcdefg.com 으로 페이지가 변경되어 있기 때문이다.

이런걸 어디다 쓰냐하면..
목록에서는 게시물의 제목이 보여지고, 게시물을 상세보려고 하면 게시물과 관련된 특정 화면이 새로 뜨게 할때 유용하다.
게시물 내용에 대한 조회수가 카운트는 되는 것는 것도 물론이다.
그 외에도 쓸모가 있을 것이다...