Chrome 中的jqGrid:最後一列過大問題
jqGrid 是一個用於資料顯示的JavaScript 庫,在與Chrome 一起使用時存在特殊的渲染問題或鍍鉻框架。網格的最後一列延伸到邊界之外,強制出現水平捲軸。無論網格大小如何,都會出現這種扭曲。
診斷與故障排除
此問題的根本原因在於 jqGrid 的寬度計算與 Chrome 內部設定不符。要解決此問題,需要修改 jqGrid 程式碼。
解決方案更新
修正涉及更新 jqGrid 程式碼的以下行:
isSafari = $.browser.webkit || $.browser.safari ? true : false;
至:
isSafari = ($.browser.webkit || $.browser.safari) && parseFloat($.browser.version)<536.5 ? true : false; // Chrome < version 19
已更新程式碼
以下是isSafari 檢查的更新程式碼:
if (isSafari) { chromeVersion = parseFloat($.browser.version); // Later Chrome versions using WebKit will fall below the threshold if (chromeVersion<536.11) { // Chrome 20 uses 536.11 (Change as browsers change) isSafari = true; // Only early Chrome requires the correction } else { isSafari = false; } }
測試修復
跨各種瀏覽器(IE9、 IE8、Chrome 18-23、Safari、Firefox、Opera)確認更新的程式碼解決了問題。網格現在可以正確渲染,最後一列不會出現過大的寬度。信用和增強
最初的修復是由 jqGrid 的開發者 trirand 建議的。隨後,程式碼得到了改進,包括與使用更高 WebKit 版本的更高版本 Chrome 的兼容性。 透過更新的程式碼,使用者可以在 Chrome 和 Chrome Frame 中無縫使用 jqGrid,而不會遇到有問題的列寬度問題。以上是為什麼我的 jqGrid 的最後一列超出了 Chrome 中的網格,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!