簡體   English   中英

三星Galaxy S7緩慢為視口高度分配正確的值嗎?

[英]Samsung Galaxy S7 slow to assign correct value to viewport height?

加載頁面時,要檢查是將樣式用於橫向還是縱向,我們使用視口的寬度和高度:

var viewPortWidth = $(window).width();
var viewPortHeight = $(window).height();

if(viewPortWidth > viewPortHeight)
{
// Landscape style
}

在所有手機中,它都可以正常工作,但Samsung Galaxy S7除外,在初始加載時高度值不正確。


在Samsung Galaxy S7中,當頁面以縱向方向加載時,我將這些值打印到控制台:

$(window).width();

返回330

$(window).height(); 

返回310- 錯誤地


然后,當頁面完全加載后,這次我再次在控制台中查詢這些值:

$(window).width(); 

返回330

$(window).height();

返回520- 正確


  • 當我刷新頁面時,它按預期方式工作-僅在初始加載期間,當從另一頁面導航到該頁面時, $(window).height()值不正確。
  • 這只是開發和測試環境上的問題,而不是生產環境上的問題。
  • 這只會在某些頁面上發生,而不會在其他頁面上發生。

正確的值分配給$(window).height()大約需要150毫秒,因此我現在將分配樣式的函數延遲了150毫秒。

我很好奇這是否是三星Galaxy S7特有的問題。 以前有沒有人遇到過這個問題,如果是這樣,您是如何解決的?

這是由Android上的軟鍵盤引起的。 當鍵盤打開時,值$(window).height(); 更改為(以前的窗口高度-鍵盤高度)。

我將輸入搜索欄並按Enter,然后在從上一頁加載軟鍵盤時,在完成樣式檢查的前x毫秒內仍未收回軟鍵盤。

通過使用window.orientation的值來檢查Android設備是否處於縱向或橫向模式,而不是僅僅依靠$(window).width();中的值的比較來解決此問題$(window).width(); $(window).height();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM