2012-01-22 3 views
1

나는 그들이 아이폰을 사용하는 경우 다른 페이지로 사용자를 리디렉션 내 웹 페이지 헤더에이 코드 조금있어 재 : 자바 스크립트 브라우저 에이전트가

<script type="text/javascript"> 
if ((navigator.userAgent.indexOf('iPhone') != -1) || 
(navigator.userAgent.indexOf('iPod') != -1)) { 
document.location = "iPhone.aspx"; } 
</script> 

는 쉬운 방법으로 '역 있는가 '이 코드는 다른 브라우저의 iPhone 페이지에 착륙하는 모든 사용자가 다시 홈페이지로 리디렉션됩니다.

감사합니다.

답변

2

간단한 해결책. 기존의 것으로 교체하십시오.

if(!/(iphone|ipod)/i.test(navigator.userAgent)) { 
    window.location = "Desktop.aspx"; 
} 

iPhone 전용 페이지 이후로 업데이트되었습니다.

+0

고마워요! 아주 간단하고 치료를! :) – Cheese1223

0

역순으로 하시겠습니까? == -1

편집으로 != -1 교체 :

은이 같은 것을 의미한다고 가정

if ((navigator.userAgent.indexOf('iPhone') != -1) || 
(navigator.userAgent.indexOf('iPod') != -1)) { 
document.location = "iPhone.aspx"; } else { 
document.location = "notiPhone.aspx"; 
} 
+0

내가 시도 : <스크립트 유형 = "텍스트/자바 스크립트"> ((navigator.userAgent.indexOf ('아이폰') == -1)의 경우 || (navigator.userAgent.indexOf ('아이팟') == -1)) { document.location에 = "Default.aspx를";} 그러나, 그냥 Default.aspx를에서 iPhone.aspx 당신은 로그인해야 – Cheese1223

+0

또는 경고에 수신 거부, 루프에 아이폰을 전송 userAgent 문자열 및 문자열이 일치하는지 확인하십시오. 또한, 경고 (navigator.userAgent.indexOf ('iPhone'))를 시도하십시오 - 무슨 일인가? – Matthew

0

(navigator.userAgent.indexOf('iPhone') == -1은 사용자 에이전트에서 이러한 문자열 "아이폰"이 없음을 의미합니다. 따라서 !=에서 ==으로 변경하면 ||&&으로 변경해야합니다.

if ((navigator.userAgent.indexOf('iPhone') == -1) 
    && (navigator.userAgent.indexOf('iPod') == -1)) { 
    document.location = 'default.aspx'; 
} 
관련 문제