> 웹 프론트엔드 > JS 튜토리얼 > FireFox와 호환하려면 JS 또는 ||를 사용하세요!_javascript 팁

FireFox와 호환하려면 JS 또는 ||를 사용하세요!_javascript 팁

PHP中文网
풀어 주다: 2016-05-16 19:24:11
원래의
958명이 탐색했습니다.

JS가 FireFox와 호환되도록 하려면 또는 ||를 사용하세요!_javascript 팁

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
<li> 
<a href="http://www.blueidea.com/articleimg/bbsimg/smile.gif"/></a> 
<a href="图片地址">打开</a> 
</li> 
<li> 
<a href="http://www.blueidea.com/articleimg/bbsimg/biggrin.gif"/></a> 
<a href="图片地址">打开</a> 
</li> 
<li> 
<a href="http://www.blueidea.com/articleimg/bbsimg/confused.gif"/></a> 
<a href="图片地址">打开</a> 
</li> 
</body> 
</html> 
<script language="javascript" type="text/javascript"> 
document.body.onclick = function(evt){ 
 evt = evt || window.event; 
 var o = evt.target || evt.srcElement; 
 window.open(o.previousSibling.href || o.previousSibling.previousSibling.href); 
 return false; 
} 
</script>
로그인 후 복사

document.body.onclick = function(evt)을 찾으세요.
IE에서는 이 evt가 존재하지 않습니다. 그러나 FireFox에서는(opera에도 있는 것 같습니다) 이 매개변수는 기본적으로 전달됩니다. IE에서는 이 매개변수가 null입니다. 호환되도록 하려면 다음과 같이 작성하세요. ,
evt = evt || window.event;
IE에서는 evt가 window.event를 가리키고, fireFox에서는 기본 매개변수를 가리킵니다.
IE에서는 evt || window.event는 null || window.event와 동일하며 결과는 여전히 window.event
이고 fireFox에서는 evt || null과 동일하며 결과는 evt

입니다. 🎜>o.previousSibling.href || o.previousSibling.previousSibling.href
전자는 IE에서 사용되고, 후자는 FireFox에서 사용됩니다.
IE에서는 XMLDom에 persistWhiteSpace 속성이 없습니다. 즉, 공백도 노드로 간주되며 IE에서는 기본값이 false입니다. 즉, 공백은 노드로 간주되지 않습니다.

여기서 언급한 XMLDom은 관련이 없는 것 같습니다. 위의 경우와 달리 FireFox에서는 두 개의 HTML 태그 사이에 공백이 없으면 PreviousSibling은 비어 있습니다.


열기
사이에 줄 바꿈이 있습니다(a 유형 공간), 따라서 FireFox에서는 다음 의 이전 노드를 가져옵니다. 그렇다면 다음을 사용해야 합니다.
o.previousSibling.previousSibling.href

아직도 이해하지 못할 수도 있습니다. , 상관없습니다. 간단한 내용은 다음과 같습니다.


위 내용은 JS용입니다. 또는 || FireFox!_javascript 기술과 호환되도록 하려면 PHP에 주의하세요. 중국사이트(m.sbmmt.com)!


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿