3

有沒有人發現一種可靠的方法來確定Windows Phone 7.5(芒果)的設備像素比例。IE9 devicePixelRatio相當於

它基於IE9。在基於Webkit的瀏覽器中,我們使用window.devicePixelRatio或使用window.matchMedia()和適當的媒體查詢。

在Windows Mobile中,我可以通過執行以下操作來確定像素比例: screen.deviceXDPI/screen.logicalXDPI 雖然這似乎只在頁面完全渲染後纔可靠。在此之前,設備XDPI報告與logicalXDPI相同

有沒有人找到解決方案?

感謝任何幫助/建議

+0

像http://social.msdn.microsoft.com/Forums/nl-NL/iewebdevelopment/thread/36398b71-86c5-433b-a3b5-9f54d75f466a? – 2012-01-11 22:57:12

+0

是的,類似於那個人的問題。 Windows Phone上並不支持window.devicePixelRatio屬性,但該設備的設備像素比爲1.5。對於我來說,爲像素比例較高的設備加載更高分辨率的資源是非常重要的。這也必須發生在客戶端。 – Mike 2012-01-12 20:57:41

+0

與多個WP設備上的圖像有真正的差異嗎?你可以提供一個exmaple圖像和你看到的差異的設備? – 2012-02-02 00:41:48

回答

0

使用(min/max-)resolution在媒體查詢的等效試驗:

@media (min-resolution: 1.5dppx), (min-resolution: 144dpi), (-webkit-min-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2) {} 

或通過matchMedia:

if (window.matchMedia) 
    { 
    if (window.matchMedia('(resolution: 96dpi)').matches) { } 
    // resolution feature & dppx unit 
    if (window.matchMedia('(min-resolution: 1dppx)').matches) { } 
    // -webkit-device-pixel-ratio feature 
    if (window.matchMedia('(-webkit-min-device-pixel-ratio: 1)').matches) { } 
    // -o-device-pixel-ratio feature 
    if (window.matchMedia('(-o-min-device-pixel-ratio: 1/1)').matches) { } 
    } 

參考