نظرًا لأن html2canvas و html2canvas.svg مجمعان في شكل UMD ، فإن window.html2canvas سيكون غير معرّف في التطبيقات التي تستخدم أداة تحميل الوحدات.
نتيجة لذلك تحصل على أ
"تعذر الحصول على الخاصية 'svg' لمرجع غير محدد أو فارغ"
خطأ في IE ، كلما حاولت استخدام القماش.
حل AMD:
require(["html2canvas", "html2canvas.svg"], function(html2canvas, svg) {
window.html2canvas = {
svg: svg
};
وإذا كنت تستخدم babel / es6:
import html2canvas from 'html2canvas';
window.html2canvas = {
svg: html2canvas.svg
};
حاولت أن أفعل هذا وأنا أتلقى صورة فارغة .. أي فكرة عما يمكن أن يسبب هذا؟
أنا أستخدم الإصدار 0.5.0-beta4. والقيام بما يلي:
html2canvas(captureTarget, {
allowTaint: true
}).then(canvas => {
let imagex64 = canvas.toDataURL(); });
عندما أعرض تلك الصورة فارغة.
واجهت نفس المشكلة في MSIE 11.1 ، لكنها لا تحدث في Chrome.
هناك متغير في الحل البديل الخاص بـ nearwood يوقف الخطأ ، ولكن لا يتم عرض SVGs بشكل صحيح:
import * as html2canvas from 'html2canvas';
(window as any).html2canvas = {
svg: html2canvas.svg
};
@ niklasvh ، لماذا أغلقت هذا؟ هل يعتقد أنها ثابتة؟ لا أرى أي التزامات تشير إلى هذه المشكلة: هل لديك رابط لما تم إصلاحه في Chrome ، لذا يمكنني إلقاء نظرة على سبب استمرار تعطله في MSIE؟
التعليق الأكثر فائدة
نتيجة لذلك تحصل على أ
خطأ في IE ، كلما حاولت استخدام القماش.
حل AMD: