2009-05-26 121 views
7

我正在使用以下內容來定位iphones,手持設備使用特定的移動樣式表,但黑莓瀏覽器僅拾取常規屏幕樣式表。如何定位黑莓瀏覽器?

<link media="handheld, only screen and (max-device-width: 320px)" href="mobile.css" type="text/css" rel="stylesheet" /> 
<link media="only screen and (max-device-width: 480px)" href="mobile.css" type="text/css" rel="stylesheet" /> 

我測試過該網站的所有其他移動設備都選取了正確的樣式表。

有沒有人知道一種方法來針對黑莓瀏覽器做同樣的事情?

謝謝!

回答

3

我結束了使用Javascript來檢測用戶代理。

然後爲手持設備和屏幕(如果它是移動設備)(因爲BlackBerry和iPhone認爲它們是屏幕)打印mobile.css並打印常規樣式表(如果它不是移動設備)。

它不適用於任何沒有Javascript的設備,但它們可能更適合看到網站的裸骨版本。

2

我沒有一個確切的答案,並且從來沒有嘗試過這個,但你可以試試看看Mobile Device Browser File。這是針對使用移動應用程序的ASP.Net開發人員的,但如果不是的話,它可能仍然有用。它的開放源代碼和MS-PL許可證。

如果您正在使用ASP.Net嘗試檢查出從斯科特Hanselman的這個播客上MDBF更多信息 - ASP.Net and the Mobile Web

3

的移動瀏覽器的狀態是,我不會建議試圖當下這樣一個爛攤子在客戶端檢測版本。最可靠的方法是使用WURFL http://wurfl.sourceforge.net/之類的東西,並執行所有檢查服務器端。

祝你好運得到任何東西在黑莓上很好地工作!哦,別忘了,運營商可能會在你的HTML連接到手機之前就搞砸了。

1

這將針對黑莓設備特別是與一個叫blackberry.css

var ua = navigator.userAgent; 
if (ua.match(/(BlackBerry|Blackberry|blackberry|BB|bb|RIM|rim|Playbook|PlayBook|playbook)/)!=null) { 
    document.write('<link rel="stylesheet" type="text/css" href="blackberry.css">'); 
    console.log ('Blackberry confirmed'); 
} 
樣式表