Chrome の jqGrid: 水平スクロールバーの問題を解明する
Chrome の jqGrid 実装で水平スクロールバーに遭遇したユーザーは、グリッドのレンダリング。これを解決するために、根本的な原因を調査し、実用的な解決策を提供します。
原因は、jqGrid の幅計算と Chrome の動作の不一致にあります。 19 より前の Chrome バージョンでは、JavaScript と CSS を使用した要素の幅の計算の差異が原因でこの問題が発生しました。
欠陥の修正
この問題に対処するには、jqGrid のアップデートが必要です。コードが必要でした。以下のコード スニペットは、変更を示しています。
isSafari = ($.browser.webkit || $.browser.safari) && parseFloat($.browser.version) < 536.5 ? true : false; // Chrome < version 19
この変更により、Chrome がバージョン 19 より古いかどうかがチェックされ、それに応じて要素幅の計算が調整されます。
一般化されたソリューション
ブラウザのバージョンや特定のレンダリング エンジンのバージョンへの将来の依存を防ぐために、より包括的な修正が推奨されます。これには、jQuery の $.width メソッドと $.outerWidth メソッドを jqGrid の内部計算と組み合わせて利用することが含まれます。
デモと結果
さまざまなブラウザーで修正をテストしたところ、良好な結果が得られました。水平スクロールバーが消え、グリッドが期待どおりにレンダリングされました:
[水平スクロールバーなしで修正されたグリッド レンダリングの画像]
更新された jqGrid バージョン
この問題は、改訂された幅計算方法を組み込んだ jqGrid バージョン 4.3.3 で解決されました。グリッド機能を最適化するには、最新バージョンにアップグレードすることをお勧めします。
以上がChrome で jqGrid に水平スクロールバーが表示されるのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。