Bir dinamik olarak oluşturulan sayfanın ham html tasarrufu

3 Cevap php

Ben bir Kullanıcıların bir takvim düzenlemek için izin verecek bir uygulama, onun açıklaması ve bir kaç başka şeyler yazıyorum. Ben jquery, php ve mysql kullanıyorum. Her zaman kullanıcı bu uyumsuz veritabanını güncelleştiren bir değişiklik yapar.

Ben onlara bir pdf haline getirmek ne dönüm seçeneği vermek istiyorum. Kullanıcı değişiklikleri yapar sonra benim sunucuya sayfanın ham html sonrası bir yolu var mı?

Ben sadece sunucudaki php kullanarak sayfayı yeniden olabilir, ama mümkünse bu şekilde daha kolay olacaktır.

3 Cevap

Sen sayfa için HTML en iyi şekilde kullanabilirsiniz:

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

Ancak çok kolayca geri sunucudaki yeniden olabilir gibi muhtemelen sizin için önemli değil, hangi açılış ve kapanış HTML etiketlerini ve doctype eksikliği olacak.

Ben sadece zaten bunu yakaladı ettik sonra sunucuya htmlSource göndermek için kullandığınız aynı AJAX kullanabilirsiniz varsayıyoruz.

Gitmek için en iyi yolu (alternatifler için diğer yanıtları görmek) gibi görünmüyor, ancak kesinlikle, jQuery seçebileceğiniz herhangi bir nesne gelen innerHTML dönebilirsiniz.

XSS attacks dikkat et. Sadece bunu kontrol olmadan ileri ve geri HTML çalıştırırsanız, önce büyük riskler kendinizi açık bırakıyor.

Sunucudan sayfayı rejenere en iyi bahis olacak. Iyi bir indirme deneyimi için, Content-Type ve boyut için başlık göndermek mümkün isteyeceksiniz.

Sorunuzu yanıtlamak için, ben PDF HTML dönüm için mevcut birçok araçlardan birini kullanmak daha sonra output buffering Betiğinizin çıkış yakalamak için kullanmak, ve olacaktır.