html 스크립트 태그가 javascript <script type="text/html"> 유형을 사용하지 않습니까?

StackOverflow https://stackoverflow.com/questions/3241387

문제

HTML 페이지에서 소스를 확인하다가 다음과 같은 내용을 발견했습니다.

<script id="searchItemTemplate" type="text/html"> 
    <# var rows = Math.floor((Model.RecordsPerPage - 1) / 3 + 1);
       for (var i = 0; i < rows; ++i){
        var startIdx = i * 3;
        var endIdx = startIdx + 3;
    #>
//etc .... 
</script>

나는 이것을 전에 본 적이 없습니다.스크립트란 무엇인가 type="text/html".차이가 있는지는 모르겠지만 이는 .aspx 페이지에 있었습니다.

이것은 나중에 구문 분석하고 eval()할 일종의 자리 표시자입니까?
이게 뭔지 아는 사람 있나요?
이 방법을 사용한 사람이 이점을 설명할 수 있습니까?

도움이 되었습니까?

해결책

알 수 없는 콘텐츠 유형이 있는 스크립트 요소는 무시됩니다. 이 경우 브라우저는 스크립트를 실행하는 방법을 모릅니다. text/html 스크립트.

이는 일부 JavaScript 템플릿 엔진에서 사용되는 일반적인 기술입니다.

또한보십시오:

다른 팁

John Resig 블로그 게시물에서 처음 본 트릭입니다.나중에 확장할 템플릿을 보관하는 것과 같은 작업에 사용됩니다.브라우저는 이를 실행하려고 시도하지 않습니다.

혜택"?글쎄요, Javascript 코드에 문자열을 직접 유지하는 것보다 훨씬 깔끔합니다.Javascript에는 여러 줄의 문자열이 없기 때문에 그런 템플릿을 정의하는 것은 지저분합니다.

편집하다 — 하하 예, CMS는 그의 답변에 바로 블로그 게시물을 연결했습니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top