解決使用web開發手機網頁關於解析度被縮放的坑

2022-04-10 03:57:10 字數 1572 閱讀 5525

沒多久,前端報告,返回的高度有問題,比狀態列高很多.

於是我測了下,api返回的狀態列高度:55畫素.

使用 安卓開發者工具 裡的座標測量工具測了下,狀態列高度的確是55畫素左右

讓前端好好檢查他的**.

然而前端態度囂張嚷嚷著自己的**絕對沒問題,並懟了我一番.

這能忍?

我要解決它,並證明這個坑是前端的坑,他解決不了是因為他水平不夠.

於是我在api測試頁面,做了個紅色div,呼叫api獲取狀態列高度,並設為div高度,測了下:

的確比狀態列高了很多,而且還2倍以上

我起初以為是js運算過程一些變數轉換的問題,嘗試在css強行給div的height賦值 "55px",然而我得到了一樣的結果.

順手查了下解析度,突然發現,這網頁的解析度..居然只有699x393?!:

但是我的手機螢幕可是1920x1080的!

於是得出結論,這個頁面的縮放比例有問題!

本來這個問題只要我提供給api,讓js能夠獲取到螢幕的寬高也就能解決了,但是我前面提到過:

我要證明這是個前端的坑,他水平不夠,沒能解決

所以:我得解決它,而且還是從前端方面解決

起初我嘗試用很多方法,去獲取螢幕的寬高也就是1920x1080

只要有了這個,我就能計算出縮放比例,把狀態列高度縮放一下.就可以解決這個問題

在網上搜尋了很多文章,類似這樣的:

各種嘗試,最後均只能得到縮放後的699*393,硬體解析度無法得到.

於是我在控制台輸入

window
嘗試把大部分物件列出來,試圖不依靠網上的答案,自己尋找到螢幕解析度.然而window物件列出來的東西雖然很多.但我並沒有找到我要的螢幕解析度.

無意間發現這麼乙個:

嗯!?這個名稱?

這個難道就是我要的螢幕縮放比例?

上網搜尋了下.找到了這個:

也就是說,我只要把狀態列的高度,除以這個屬性,就能得到縮放後該有的高度.

於是乎改了**,測試一番:

可以!果斷打前端的臉去~

手機網頁開發簡單總結

1.手機螢幕的寬度不統一,我們強制給文件設定乙個比例 viewport content width device width,initial scale 1.0,maximum scale 1.0,user scalable 0 定義 device width是通知瀏覽器使用裝置的寬度作為可視區的寬...

手機網頁開發問題總結(一)

區域性開啟彈性滾動 body android不支援原生的彈性滾動,可以借助類似iscroll來實現 bug android只會觸發一次touchstart,一次touchmove,不觸發touchend 解 在touchmove中加入event.preventdefault 可以fixedbug b...

如何開發手機端網頁,如何讓網頁自適應?

先看乙個簡單的網頁 hello 我不是自適應網頁 在pc電腦端的實現效果如圖 在移動端的實現效果如圖 很明顯,當在移動端上顯示時,它仍然是按照,pc端模式顯示的。所以字型非常小,都快看不清了,需要放大才行。好了現在我們來開始正式實現讓網頁自適應,不管在pc電腦端還是移動端都能正常的顯示。其實很簡單,...