2012-11-19 5 views
0

Chrome 확장 프로그램에서 지원되는 '안전하지 않은 평가'설정이없는 자바 스크립트 템플릿 엔진을 찾고 있습니다.Chrome 플러그인의 자바 스크립트 템플릿

여기에 다른 질문이 있지만 배포 전에 템플릿을 미리 컴파일하는 것이 좋습니다.하지만 "사용자"가 템플릿을 즉시 변경할 수 없기 때문에 나에게 적합하지 않습니다. 플러그인 옵션) ... 이것은 또한 왜 사용자가 코드를 삽입 할 수 없기 때문에 '안전하지 않은 평가'가 필요없는 템플릿 엔진을 원합니다. 단순히 JSON 객체의 속성을 사용하는 아주 간단한 템플릿을 만드는 것입니다.

문자열 교체 ...에만 거의, 몇 가지 간단한 평가도 필요하다 거의 충분하다 ...하지만 "좋아하는 경우에 X Y 출력보다 큰, 그렇지 않으면 B"나는 대한 doT.js을 사용하고있다

지금은 충분히 단순 할 것이므로, 그 의미에 국한되거나 더 단순합니다. 여기

이 ... 당신이 볼 수 그래서

<div class="card"> 
    <header class="header {{= it.type }}"> 
     <div class="project_id"> 
      <div class="project">{{= it.project }}</div> 
      <div class="id">{{= it.id }}</div> 
     </div> 
     <div class="title"> 
      <div class="nooverflow">{{= it.type }}: {{= it.summary }}</div> 
     </div> 
     <div class="sizeheader_size"> 
      <div class="sizeheader">RELATIVE SIZE</div> 
      <div class="size">{{= it.estimate }}</div> 
     </div> 
    </header> 
    <section class="description"> 
     <div class="nooverflow">{{= it.description }}</div> 
    </section> 
    <footer class="footer"> 
     <div class="hours"> 
      <span class="marked"></span> 
      <span class="{{?? it.days > 1 }}marked{{??}}"></span> 
      <span class="{{?? it.days > 2 }}marked{{??}}"></span> 
      <span class="{{?? it.days > 3 }}marked{{??}}"></span> 
      <span class="{{?? it.days > 4 }}marked{{??}}"></span> 
      <span class="{{?? it.days > 5 }}marked{{??}}"></span> 
      <span class="{{?? it.days > 6 }}marked{{??}}"></span> 
      <span class="{{?? it.days > 7 }}marked{{??}}"></span> 
      <span class="{{?? it.days > 8 }}marked{{??}}"></span> 
      <span class="{{?? it.days > 9 }}marked{{??}}"></span> 
     </div> 
     <div class="priorityheader_priority"> 
      <div class="priorityheader">PRIORITY</div> 
      <div class="priority">{{= it.priority }}</div> 
     </div> 
    </footer> 
</div> 

(가) 점에있을 것입니다 방법을 간단한 예입니다, 그것은

답변

0

당신은 렌더링 할 수있는 ... 가장 복잡한 조건문 아니다 템플릿과 템플릿 엔진이 포함 된 샌드 박스 페이지의 템플릿 메시지의 데이터를이 샌드 박스 페이지로 보내면됩니다. 템플릿을 렌더링 한 후 샌드 박스는 렌더링 된 템플릿 html이 들어있는 다른 메시지를 다시 보내고 콘텐츠 스크립트 또는 팝업에서 사용할 수 있습니다.

This article은 프로세스를보다 상세하게 설명한다. messaging in Chrome extensions도 잘 알고 있어야합니다.

+0

사용자가 템플릿에 맞춤 자바 스크립트 코드를 작성할 수 없다는 생각이 좋았지 만, 대신 일부 유형의 간단한 용어에만 의존한다는 점에서 좋았습니다. 그러나 이것은 공정한 절충안 역할을합니다. – Jens

관련 문제