2012-07-11 5 views
0

MVC4 프로젝트가 있고 Modernizr에 문제가 있습니다. html 입력 형식 날짜가 지원되는지 테스트 해보고 싶습니다. 그렇지 않으면 kendoUI (jquery-UI와 유사)를로드하여 datepicker 컨트롤로 날짜의 입력 유형을 사용한 모든 인스턴스를 표시하십시오. 날짜 입력 유형이 지원되지 않는 경우에만 아래의 스크립트를 사용하여 kendo css 및 js 파일을로드합니다.조건부로 날짜 피커를 추가하면 MVC4 및 Modernizr.Load가 깜박임을 발생합니다.

<script> 
    Modernizr.load({ 
     test: Modernizr.inputtypes.date, 
     nope: ['/Content/Kendo-styles/kendo.common.min.css', 
      '/Content/Kendo-styles/kendo.default.min.css', 
      '/Scripts/kendo/kendo.web.min.js'], 
     complete: function() { 
      $('input[type=date]').kendoDatePicker({ 
       format: "dd/MM/yyyy" 
      }); 
     } 
    }); 
</script> 

내 페이지의 스크립트 섹션 (_Layout/master가 아니라 다음 레벨에 있음)에 배치했습니다. 작동하지만 깜박 거립니다. 내 스크립트를로드 한 다음 전체 기능을 실행하기 전에 내 페이지를 표시하여 텍스트 상자를 먼저 표시 한 다음 약 개를 표시합니다. 30 초 후 날짜 표시 줄이 렌더링됩니다.

전체 기능을 제거하고 다음 스크립트를 내 문서 준비 기능에 추가하는 경우가 종종 실패합니다. 이 경우 kendo 스크립트가 다운로드되었지만 아직 실행되지 않았으므로 kendodatepicker가 인식되지 않습니다 (브라우저 개발자 도구 - 네트워크에서). 이 경우 나는 Modernizer가 완료되기 전에 준비된 문서가 실행될 것이라고 추정 할 수 있습니다. 나는이 정확한가? 아래는 내 문서 준비 코드입니다.

$(function() {  
    if (!Modernizr.inputtypes.date) { 
     $('input[type=date]').kendoDatePicker({ 
      format: "dd/MM/yyyy", 
     });    
    } 
} 

사람은 절반은 두 번째는 다음 기능을 실행 3 개 파일을 다운로드해야하는 사실이다

답변

0

..이 아니면 내가 멍청한 짓을하고있는 중이 야에 대한 해결책을 알고 있나요.

나는 CSS를 (그것이 경량) 사전로드의 옹호를 오전 당신이 번들에 추가 할 수 있습니다 그것은 그

그것을 빨리 할 것

생산

에 추가 요청을 추가하지 않습니다 mvc4을 사용하고 있기 때문에