Heim >Web-Frontend >CSS-Tutorial >Warum reicht die letzte Spalte meines jqGrid in Chrome über das Raster hinaus und wie kann ich das beheben?
jqGrid in Chrome: Problem mit der übergroßen letzten Spalte
jqGrid, eine JavaScript-Bibliothek für die Datenanzeige, weist bei Verwendung mit Chrome ein besonderes Rendering-Problem auf oder Chromrahmen. Die letzte Spalte des Rasters geht über die Grenzen hinaus und erzwingt die Anzeige horizontaler Bildlaufleisten. Diese Verzerrung tritt unabhängig von der Größe des Rasters auf.
Diagnose und Fehlerbehebung
Die Hauptursache dieses Problems liegt in einer Diskrepanz zwischen der Breitenberechnung von jqGrid und den internen Einstellungen von Chrome . Um das Problem zu beheben, ist eine Änderung am jqGrid-Code erforderlich.
Lösungsaktualisierungen
Die Fehlerbehebung umfasst die Aktualisierung der folgenden Zeile des jqGrid-Codes:
isSafari = $.browser.webkit || $.browser.safari ? true : false;
bis:
isSafari = ($.browser.webkit || $.browser.safari) && parseFloat($.browser.version)<536.5 ? true : false; // Chrome < version 19
Aktualisiert Code
Hier ist der aktualisierte Code für den isSafari-Check:
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; } }
Testen des Fixes
Tests in verschiedenen Browsern (IE9, IE8, Chrome 18-23, Safari, Firefox, Opera) bestätigte, dass der aktualisierte Code das Problem behebt. Das Raster wird jetzt korrekt gerendert, ohne dass die letzte Spalte übermäßig breit ist.
Gutschrift und Verbesserungen
Die ursprüngliche Korrektur wurde von trirand, dem Entwickler von jqGrid, vorgeschlagen. Anschließend wurde der Code verfeinert, um die Kompatibilität mit späteren Versionen von Chrome zu gewährleisten, die höhere WebKit-Versionen verwenden.
Mit dem aktualisierten Code können Benutzer jqGrid nahtlos in Chrome und Chrome Frame verwenden, ohne auf das problematische Problem mit der Spaltenbreite zu stoßen.
Das obige ist der detaillierte Inhalt vonWarum reicht die letzte Spalte meines jqGrid in Chrome über das Raster hinaus und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!