<p>janji html2canvas dikembalikan sebelum render selesai</p>

Dibuat pada 1 Okt 2019  ·  3Komentar  ·  Sumber: niklasvh/html2canvas

Pastikan Anda menguji dengan rilis terbaru
Versi lama tidak didukung dan masalah yang dilaporkan untuk mereka akan ditutup.

Harap ikuti langkah pemecahan masalah umum terlebih dahulu:

  • [X] Anda menggunakan versi terbaru
  • [X] Anda menguji menggunakan versi html2canvas yang tidak diperkecil dan memeriksa setiap potensi masalah yang dilaporkan di konsol

Laporan bug:

Saya memiliki halaman dengan beberapa div. Masing-masing div ini memiliki beberapa elemen tabel reaksi . Saya ingin mengambil tangkapan layar dari setiap div dan kemudian membuat file zip dan mengunduh semuanya sekaligus (sebagai semacam dek slide powerpoint semu). Ini berfungsi dengan baik di Mac, namun ketika saya menggunakan Google Chrome di Windows, div dengan beberapa tabel reaksi tampaknya tidak menyelesaikan rendering saat tangkapan layar diambil. Saya telah mengonfirmasi dengan mengaktifkan logging bahwa render selesai dalam ~1000ms, tetapi canvas yang dikembalikan oleh html2canvas muncul seolah-olah tidak menyelesaikan rendering. Tabel reaksi dirender, tetapi sisa teks pada halaman agak transparan, seolah-olah sedang memuat setengah jalan.

Saya belum memiliki repro jsfiddle, tetapi saya akan mengerjakannya untuk menambahkannya di sini.

Spesifikasi:

  • versi html2canvas diuji dengan:
  • Browser & versi: Chrome terbaru - 77.0.3865.90
  • Sistem operasi: Windows (penting, tidak dapat direproduksi di Mac)

Komentar yang paling membantu

Saya juga mengalami masalah ini dan itu menyebabkan bug yang sangat buruk di pihak kami. Ingin diperbaiki!

Semua 3 komentar

Saya sudah bisa mendapatkan ini untuk bekerja, meskipun tidak optimal.

html2canvas(div, {
    letterRendering: true,
    onclone: (doc) => {
        // onclone logic to resize div

        return new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve()
            }, 400)
        })
    }
}).then((obj) => {
    let img = obj.toDataURL()
    // save image to zip file
})

Saya mencapai batas waktu 400 ms melalui coba-coba. Kurang dari itu, dan saya mengamati masalah dengan div yang tidak sepenuhnya dirender saat html2canvas mengambil tangkapan layar.

Saya setuju, saya memiliki masalah yang sangat mirip, di mana gambar yang dihasilkan oleh Html2Canvas terpotong. Ini hanya terjadi di build produksi. Di lingkungan dev itu berfungsi dengan baik. Solusi di atas menyelesaikan masalah saya. Saya setuju bahwa itu tidak ideal, dan perbaikan yang tepat diperlukan untuk ini, tetapi untuk saat ini menyelesaikan masalah saya. Terima kasih @tjchambers32 untuk

Saya juga mengalami masalah ini dan itu menyebabkan bug yang sangat buruk di pihak kami. Ingin diperbaiki!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat