>  기사  >  웹 프론트엔드  >  IE 및 Firefox_javascript 기술에서 JScript 및 HREF의 실행 순서 해석

IE 및 Firefox_javascript 기술에서 JScript 및 HREF의 실행 순서 해석

WBOY
WBOY원래의
2016-05-16 19:06:461093검색

코딩에 관한 글을 오랫동안 쓰지 않았습니다. 가장 큰 이유는 최근 작업이 수요 분석에 집중되어 있기 때문입니다. 실제 감정이 없으면 글쓰기에 대한 동기가 없을 것입니다. JScript 실행 순서에 관한 문제를 토론합니다. 샘플 코드는 다음과 같습니다.
a.htm
Click Me! < ;A onclick="func2('onclick')" href="d.htm">나를 클릭하세요!
<SCRIPT> ;<br>function func(str)<br>{<br> msg(str);<br> window.location.href="c.htm";<br>}<br>function msg(str)<br>{<br> document.getElementById("msg").innerText=str; //A<br> //alert(str);<br> window.location.href="e.htm" ;<br>}<br></SCRIPT>


msg(str) 줄에 주석이 있으니 테스트하는 동안 A, B를 각각 실행해 보세요.

A B
마우스업 클릭 시 마우스업 클릭 시
IE b.htm
d.htm c.htm d.htm

파이어폭스 c.htm
   A  B
 onmouseup  onclick  onmouseup onclick 
 IE  b.htm  d.htm  c.htm d.htm 
 FireFox  c.htm->b.htm  e.htm->d.htm  c.htm->b.htm e.htm->d.htm 
->b.htm
e.htm

->d.htm

c.htm
->b.htm
e.htm

->d.htm


위 표는 주로 두 브라우저의 실행 순서를 나열한 것입니다. 빨간색은 페이지 스크립트가 점프하는 페이지를 나타내고, 파란색은 Anchor 태그의 href 속성을 나타냅니다. 위에서 볼 수 있듯이 FireFox의 경우 항상 페이지 스크립트가 먼저 실행된 후 브라우저가 점프합니다. IE의 실행 프로세스는 다릅니다.

1. 뒤로 버튼을 사용하여 a.htm으로 직접 돌아갑니다. 즉, 페이지는 한 번의 점프만 수행합니다.
2. 페이지 스크립트로 이동합니다. 위에서 볼 수 있듯이
1. FireFox의 경우 페이지 스크립트 실행 순서가 항상 브라우저 내장 스크립트 실행 순서보다 우선합니다. 2. IE에서는 HREF의 실행 순서는 onmouseup->href->onclick입니다. 정말?
2의 실행 순서를 보다 명확하게 하기 위해 onclick과 href 간의 실행 순서 관계를 계속 분석합니다. 위의 예에서 onclick은 호출을 통해 실행됩니다. a. 다음 테스트 코드를 사용합니다:
Click Me!
찾기 HREF를 실행할 수 없습니다.
b. 다음 테스트 코드를 사용하는 경우:
Click Me!
onclick의 e.htm 대신 HREF의 d.htm이 여전히 실행되는 것을 발견했습니다.

c. 다음 테스트 코드를 사용하는 경우:

나를 클릭하세요. !(msg() 함수의 코드는 위와 같습니다.) 가 msg() 함수를 실행했지만 HREF가 실행되지 않은 것을 발견했습니다. 어지러워. IE는 참으로 이상한 일입니다. 사례 b의 현상을 설명하는 데 누가 도움을 줄 수 있습니까?
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.