문제

사용자가 캘린더, 설명 및 기타 몇 가지를 편집 할 수있는 응용 프로그램을 작성하고 있습니다. JQuery, PHP 및 MySQL을 사용하고 있습니다. 사용자가 변경할 때마다 데이터베이스를 비동기로 업데이트합니다.

나는 그들에게 그들이 만든 것을 PDF로 바꿀 수있는 옵션을주고 싶습니다. 사용자가 변경 한 후 페이지의 RAW HTML을 서버에 게시 할 수있는 방법이 있습니까?

서버에서 PHP 만 사용하여 페이지를 재생할 수 있지만 가능하면이 방법이 더 쉬울 것입니다.

도움이 되었습니까?

해결책

이를 사용하여 페이지의 대부분의 HTML을 얻을 수 있습니다.

var htmlSource = document.getElementsByTagName('html')[0].innerHTML;

그러나 개방 및 닫는 HTML 태그와 DocType가 부족합니다. 서버에서 매우 쉽게 다시 재현 할 수 있기 때문에 중요하지 않을 것입니다.

나는 당신이 이미 사용하고있는 것과 동일한 ajax를 사용할 수 있다고 가정 할 것입니다. htmlsource 일단 서버에 넣었습니다.

다른 팁

당신은 확실히 반환 할 수 있습니다 innerHTML jQuery에서 선택할 수있는 모든 객체는 이동하는 가장 좋은 방법은 아니지만 (대안에 대한 다른 답변 참조).

조심하십시오 XSS 공격. 먼저 확인하지 않고 HTML을 앞뒤로 실행하면 큰 위험에 처하게됩니다.

서버에서 페이지를 재생하는 것이 최선의 방법이 될 것입니다. 좋은 다운로드 경험을 얻으려면 콘텐츠 유형 및 크기에 대한 헤더를 보낼 수 있기를 원합니다.

귀하의 질문에 답하기 위해 사용하겠습니다 출력 버퍼링 스크립트의 출력을 캡처 한 다음 HTML을 PDF로 전환 할 수있는 많은 도구 중 하나를 사용하십시오.

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