2013-12-14 3 views
0

흥미로운 작업이 있습니다.브라우저에서 렌더링 된 페이지 캐시

데이터베이스에 페이지 캐싱을해야합니다 (실행 된 자바 스크립트로 전체 렌더링 된 페이지). symfony2를 사용하고 있는데 어떻게 할 수 있을지 생각해 보았습니다. 아마도 wkhtmltopdf을 사용하여 javascript가 실행 된 후 페이지를 렌더링하고 HTML 마크 업을 가져와야 할 것입니다. 문제는 이것이 단지 아이디어 일 뿐이며,이 아이디어를 얼마나 정확히 실행하는지 모르겠습니다. 당신이 내 생각보다 더 좋은 생각이라면 나는 매우 행복 할 것이다. 도움이 될 것입니다. 이 내 페이지입니다 asume 가 있습니다 :

더 명확하게하려면

<html> 
    <head> 
     stuff... 
    </head> 
    <body> 
     <div id="content"> 

     </div> 
    </body> 
    <script> 
     for(var i = 0; i< 3; i++) { 
      $('#content').append('<p>'+i+'</p>'); 
     } 
    </script> 
</html> 

그리고 난이 얻고 싶은 :

<html> 
    <head> 
     stuff... 
    </head> 
    <body> 
     <div id="content"> 
      <p>0</p> 
      <p>1</p> 
      <p>2</p> 
     </div> 
    </body> 
</html> 

내가이 참여하는 클라이언트 브라우저없이 일어날 필요를 (서버 측에서만 생성됨)

+0

자바 스크립트는 서버가 아니라 클라이언트에서 실행됩니다. 사용자 입력에 따라 즉석에서 표시된 HTML을 변경하는 데 종종 사용되는 것을 감안할 때 렌더링 된 HTML을 언제 어느 시점에 캐시합니까? 이것은 매우 실용적이지 않습니다. –

+0

이 경우에는 해결책이 필요합니다. 페이지로드시 모든 자바 스크립트가 실행 된 후 페이지의 마크 업이 필요합니다. – gprusiiski

답변

0

wkhtmltopdf를 사용하여 태그를 지정 했습니까? 명령 행에서이 당신의 예제 페이지를 실행합니다

wkhtmltopdf.exe example.html example.pdf 

그해야 모든 클라이언트 상호 작용없이 서버에 꽤 많은 작업 - 응용 프로그램의 나머지 부분은 배선 및 옵션 (그리고 많은 실제로 코딩 많은)입니다 . 때로는 더 이상 실행중인 자바 스크립트에 --javascript-delay 5000 또는 그와 같은 것을 추가해야합니다. 그 밖에 정말로 필요한 것이 무엇입니까? 말하기가 어렵습니다. 나는 작은 모형 건물 사이트를 만들고 그것의 ontop을 구축하고, 차단기를 다룰 수있는 가장 어렵고 진보 된 사례들을 시도함으로써 시작할 것입니다.

관련 문제