Chrome의 jqGrid: 너무 큰 마지막 열 문제
데이터 표시용 JavaScript 라이브러리인 jqGrid를 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 프레임에서 jqGrid를 원활하게 활용할 수 있습니다.
위 내용은 내 jqGrid의 마지막 열이 Chrome의 그리드 너머로 확장되는 이유는 무엇이며 어떻게 해결할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!