2012-01-22 71 views
1

我已經得到的代碼在我的網頁標題這一點,如果他們使用的是iPhone,將用戶重定向到另一個頁面:JavaScript的瀏覽器代理重定向

<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

我嘗試: <腳本類型= 「文本/ JavaScript的」> 如果((navigator.userAgent.indexOf( 'iPhone')== - 1)|| (navigator.userAgent.indexOf('iPod的)== -1)){ document.location =「Default.aspx」;} 但是,它只是發送iPhone的一個循環,從Default.aspx彈跳到iPhone.aspx – Cheese1223

+0

你應該登錄或提醒userAgent字符串,並看看你的字符串是否匹配。此外,嘗試警報(navigator.userAgent.indexOf('iPhone')) - 什麼出現? – Matthew

0

(navigator.userAgent.indexOf('iPhone') == -1意味着沒有這樣的字符串 「iPhone」 中的userAgent。因此,當您從!=更改爲==時,您還需要將||更改爲&&

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