2013-08-26 4 views
1

Datatables에 문제가 있습니다. 수정 방법에 대한 단서가 없습니다.데이터 테이블이 크롬에서 작동하지 않습니다.

맞춤형 CMS에서 Datatables를 사용하고 Mac (Safari, Chrome, Firefox)에서와 같이 모든 것이 작동합니다. 또한 동료들과 함께 모든 것이 잘 작동합니다 (Windows).

하지만 Datatables에는 아무 것도 표시되지 않는 고객이 있습니다. 제목이 표시된 고객의 스크린 샷을 받았습니다. Datatables는 "No records found"가 아닌 아무것도 보이지 않습니다. 이 고객은 Windows 컴퓨터에서 Google 크롬 버전 28.0.1500.95에서이 문제를 겪고 있습니다. 고객이 Internet Explorer를 열면 모든 것이 올바르게 작동합니다.

나는 문제를 재현 할 수 없으므로 너희들이 나를 도울 수 있기를 바란다. 더 일반적인 문제 일 수 있습니까? 아니면 클라이언트가 자신의 PC에 뭔가가있을 수 있습니다, Datatables가 제대로 작동하지 않게하는 원인은 무엇입니까? 클라이언트가 Javascript를 사용 중지하지 않았기 때문에 cms에 메시지가 표시되고 해당 메시지가 스크린 샷에 표시되지 않습니다.

내가이 테이블에 대해 가지고있는 JS입니다 :

$(document).ready(function() { 
     $('#applicationsTable').dataTable({ 
     "aaSorting": [[4,"desc"]], 
     "bPaginate": true, 
     "iDisplayLength": 50, 
     "bFilter": true, 
     "oLanguage": { 
      "oPaginate": { 
      "sPrevious": "Vorige", 
      "sNext": "Volgende", 
      }, 
      "sSearch": "Zoeken:", 
      "sInfo": "Toont _START_ t/m _END_ van de _TOTAL_ sollicitaties.", 
      "sLengthMenu": "Toon _MENU_ sollicitaties" 
     } 
     }); 
    }); 
+0

개발자 도구 모음의 콘솔 탭에서 오류를 확인하십시오. – JackPoint

답변

0

이 직접 대답은 아니지만 디버깅을 시작하는 방법을 생각 당신에게 줄 수 있습니다. JackPoint가 말했듯이, 분명히 Chrome을 설치해야하며 콘솔 로그를 확인할 수 있도록 개발자 도구를 실행하여 페이지를 열어야합니다. Chrome에서 동일한 증상이 나타나서 내 버그를 추적 할 수 있었으므로 이제 Datatables가 작동합니다. Chrome은 오류에 매우 민감하며 코드에 심각한 오류가있는 경우 전체 취약 구조물이 손상됩니다. 필자의 경우, 크롬을 트립하고있는 것을 찾기 위해 꽤 깊이 파고 들어야했다. Ajax를 호출하여 데이터 테이블의 데이터를 가져온 다음 Knockout observableArray에 해당 데이터를 채 웁니다. 이 observableArray에 바인드 된 페이지에는 HTML 테이블이 있으므로 Ajax가 데이터를 리턴 한 후 Knockout에 의해 자동으로 채워진다. 그런 다음 해당 테이블에서 dataTable()을 호출 할 수 있으며 평소와 같이 정렬 가능한 열 등으로 꾸며져 있습니다. 그러나, 나는 observableArray에 sort 함수를 추가해야했습니다.이 함수는 String.toLowerCase를 호출하려고 시도했는데, Chrome은 그것이 정의되지 않았다고 생각합니다. 콘솔에서 오류를 경고합니다. 정렬 함수가 동작을 일으키는 것을 발견했습니다. 먼저 그것을 제거하고 충분한 Datatables가 다시 작동하기 시작했는지 확인하십시오. 그런 다음 다시 돌아가 체계적으로 내 정렬 함수의 인수 객체 (문제 없음)를 검사하고 마지막으로 String.toLowerCase를 String.prototype.toLowerCase로 변경해야한다는 것을 알게되었습니다. 천국은 그 일이 왜 일어나는 지 알고 있습니다. 그러나 나는 이것과 같은 애매한 문제를 디버깅에 접근하는 방법에 대한 아이디어를 얻길 바랍니다.

관련 문제