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)!
<script> function test(p1,p2,p3){ p1 = p1 || 100; p2 = p2 || "xlingFairy"; return "p1 = " + p1 + " p2 = " + p2 + " p3 = " + p3; } alert(test()); alert(test(null,null,"blueidea.com")) </script>