Chrome 中的jqGrid 渲染問題
在Chrome 及其衍生瀏覽器中,jqGrid 會出現一個較小的渲染問題,其中最後的一部分列延伸到網格邊界之外。由於此渲染錯誤,出現水平捲軸,這不是所需的行為。
問題原因
問題源自於 jqGrid 計算網格寬度的方式是基於使用者代理程式是 Safari 還是 Chrome。但 Chrome 19 以下版本有 bug,導致運算不準確,導致渲染不正確。
解決方案
已在最新版本的 jqGrid 中實現修復(4.3.3)。此修復修改了用於確定網格是在 Chrome 還是 Safari 中呈現的邏輯。 jqGrid程式碼中修改後的行如下:
isSafari = ($.browser.webkit || $.browser.safari) && parseFloat($.browser.version)<536.5 ? true : false; // Chrome < version 19
透過用此修改後的行替換原始行,問題得到解決,並且網格正確渲染,沒有任何水平滾動條。
舊版Chrome 的替代修復
對於舊版Chrome(20 或更低),如果jqGrid 4.3.3 中的修復可能不可用,則可以使用稍微不同的條件來取代上述條件:
isSafari = ($.browser.webkit || $.browser.safari) && parseFloat($.browser.version)<536.11 ? true : false; // Chrome < version 20
總而言之,jqGrid for Chrome中的渲染問題是由以下原因引起的Chrome 渲染引擎中出現錯誤。 jqGrid 4.3.3 中實現的修復有效解決了這個問題。對於較舊的 Chrome 版本,可以使用替代條件來實現相同的結果。
以上是為什麼 jqGrid 在 Chrome 中顯示水平捲軸,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!