2011-03-18 104 views
2

我有兩個手機頁面,一個爲觸摸屏手機設計,一個爲非觸摸屏手機設計。我需要根據哪種類型來檢測和重定向。如何檢測手機網站的觸摸屏手機

我想在這裏集體討論。我想過可能檢測到屏幕分辨率並使用它,但像Blackberry Bold(非觸摸屏,但具有480x320顯示屏)的手機不符合該規則。

顯而易見的解決方案是維護兩個用戶代理列表並使用它們重定向。問題是,創建這些列表將非常耗時。我也想象一旦我開始研究它,就會遇到各種例外情況,例如opera mini這樣的瀏覽器在兩組手機上(一觸式和一觸式)。如果這是我唯一的選擇,那麼從哪裏開始收集有關手機的數據?

var touchScreenRegEx = new RegExp("(ipod|iphone|opera mini)"); 
var noTouchScreenRegEx = new RegExp("(blackberry|palm)"); 

var userAgent=navigator.userAgent.toLowerCase(); 
if (userAgent.match(touchScreenRegEx)) 
{  window.location = "/mobile/touch/"; 
} 
else if(userAgent.match(noTouchScreenRegEx) 
{ 
    window.location = "/mobile/no-touch/"; 
} 

有什麼建議嗎?

回答

2

「顯而易見的解決辦法是保持用戶代理的兩個列表,並使用它們來重定向」

你想要的是WURFL:

http://wurfl.sourceforge.net/

請記住,有手機,觸摸和鍵盤都可以訪問,所以理想情況下,如果可以提供幫助,您可以嘗試避免創建兩個單獨的界面。