Menyelesaikan Ralat "Kanvas Tercemar Mungkin Tidak Dieksport"
Apabila cuba menyimpan kanvas pada imej menggunakan canvas.toDataURL(), anda mungkin menghadapi perkara berikut ralat:
Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
Salin selepas log masuk
Punca:
Atas sebab keselamatan, pemacu keras tempatan dianggap "domain-lain", yang akan mencemarkan kanvas.
Penyelesaian:
Semasa ujian, anda boleh mencuba penyelesaian berikut:
-
Letakkan semua fail berkaitan halaman dalam Pada desktop : Letakkan semua fail HTML, JPG, JS, CSS, dll. pada desktop, bukan dalam subfolder.
-
Terbitkan imej ke tapak yang menyokong perkongsian merentas domain: seperti DropBox.com atau GitHub. Pastikan anda meletakkan imej dalam folder awam dalam DropBox dan tetapkan bendera silang asal (var img=new Image(); img.crossOrigin="anonymous" ...) semasa memuat turun imej.
-
Pasang pelayan web pada mesin pembangunan anda: Sebagai contoh, pelayan web IIS dan PHP kedua-duanya mempunyai versi percuma yang berjalan dengan baik pada mesin tempatan anda.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mengeksport Kanvas Saya sebagai Imej? (Ralat Kanvas Tercemar). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!