Html2canvas: menyimpan elemen yang melampaui viewport

Dibuat pada 3 Nov 2017  ·  4Komentar  ·  Sumber: niklasvh/html2canvas

Saya mencoba menggunakan ini untuk menyimpan halaman, yang melampaui viewport tetapi terus terpotong. Apakah ada cara untuk menyimpan. di bawah ini adalah kode yang saya gunakan. ketika saya membuat elemen cukup kecil untuk muat di viewport itu berfungsi dengan baik tetapi gambar yang saya dapatkan terlalu kecil untuk apa yang saya butuhkan, dan memperbesar ukuran hanya membuat buram. Beberapa gambar ini dalam ukuran yang saya butuhkan adalah 1300px+ tinggi

`html2canvas(pratinjau, {
latar belakang: '#ffffff',
dirender: (kanvas)=>{

            canvas.toBlob((blob)=>{
                FileSaver.saveAs(blob, 'mysave.png');
            })

        }
    })`

Komentar yang paling membantu

Anda dapat mencoba mengkloning konten elemen dan menambahkannya ke badan tepat saat pengambilan berlangsung, lalu menghapusnya. Sesuatu seperti

var clone = document.getElementById('my_element').cloneNode(true);
//... style the clone so it doesn't have scroll...

return html2canvas(clone, {
        useCORS: true,
        allowTaint: false,
        logging: false
    }).then(function (canvas) {
        document.body.removeChild(clone);
        return canvas;
    });

Semua 4 komentar

Jika elemen yang terkandung dalam wadah, div, modal, dll yang memiliki gulir dalam?

Wadah langsung yang ingin saya tangkap tidak memiliki pengguliran tetapi wadah induk memilikinya. Saya akan mencoba meletakkan pengguliran pada wadah langsung dan melihat apakah itu berhasil

Tidak baik. saya menyesuaikan sehingga wadah yang saya tangkap memiliki pengguliran untuk menunjukkan dom penuh, dan masih terpotong di bagian yang terlihat di layar.

ada pemikiran lain??

Anda dapat mencoba mengkloning konten elemen dan menambahkannya ke badan tepat saat pengambilan berlangsung, lalu menghapusnya. Sesuatu seperti

var clone = document.getElementById('my_element').cloneNode(true);
//... style the clone so it doesn't have scroll...

return html2canvas(clone, {
        useCORS: true,
        allowTaint: false,
        logging: false
    }).then(function (canvas) {
        document.body.removeChild(clone);
        return canvas;
    });
Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

anthonymejia picture anthonymejia  ·  4Komentar

arzyu picture arzyu  ·  3Komentar

yasergh picture yasergh  ·  5Komentar

tjchambers32 picture tjchambers32  ·  3Komentar

AviYafe picture AviYafe  ·  5Komentar