2012-10-17 27 views
2

我爲同一個網站製作了兩個不同的網頁:一個用於手機設備,一個用於桌面設備。主要原因是因爲網頁上有很多按鈕,並且如果您使用的是手機,則按鈕很難觸摸,因爲它們在手機屏幕上看起來很小。所以我做了一個javscript,根據屏幕的分辨率將用戶重定向到相應的頁面。視網膜(或其他高分辨率)顯示器是否會影響手機和平板電腦之間基於分辨率的區別?

if ((screen.width < 800) && (screen.height < 600)) { 
    window.location = 'mobilesite'; 
} else { 
    window.location = 'desktopsite'; 
} 

但我擔心新的視網膜顯示。我認爲這種方法是行不通的。 (我沒有一個視網膜顯示設備來測試它)

我決定不使用基於操作系統的差異化,因爲我的問題是與大小,而不是操作系統,例如,在Android/IOS/Kindle /等等。平板電腦我更喜歡用戶使用桌面版本,因爲它在大屏幕上看起來更好。

所以我有兩個問題: 1.-視網膜屏幕的分辨率會影響瀏覽器的分辨率? (或者也許只有本地應用程序)

2.-有任何不同的方式來區分使用JavaScript或jQuery的客戶端手機和平板電腦?

此外,我認爲重要的是不要限制腳本來檢測IOS設備中的這種差異,很快它會成爲其他品牌手機中更高分辨率的顯示器。

謝謝!

+0

你知道「視網膜顯示」是蘋果公司使用的品牌嗎?看起來這個術語在Android開發中似乎有點不合時宜。 –

+0

是的,視網膜顯示屏會改變整個設備的分辨率(這只是一個更高分辨率的屏幕,實際上沒什麼奇特的。)我會根據用戶代理字符串做出嘗試性的建議(通過PHP,說實話)而不是屏幕尺寸。 – Eric

+0

@TedHopp是的,謝謝你的鼓舞。我編輯了標題 – yenssen

回答

5

Apple Retina Screen會報告自己,就好像它擁有實際擁有的像素數量的一半,因爲瀏覽器本身就具有魔力。如果您想檢測高分辨率屏幕,請乘以像素密度。

不要進行useragent檢查,因爲您將每2周添加更多設備。它打破了網絡。做功能檢查或特定檢查。

哦,如果您只想顯示更大的移動設備按鈕,您就需要閱讀CSS3 Media Queries。

+0

但使用這個: @ media all和(max-device-width:480px) am我不會有同樣的問題? – yenssen

+0

閱讀'pixeldensity' :) – japrescott

+2

關於媒體查詢,[這個博客](http://css-tricks.com/snippets/css/media-queries-for-standard-devices/)可能會有所幫助。 – Eric

相關問題