أنا أستخدم علامة data-html2canvas-ignore
سهلة الاستخدام في بعض العناصر ، لكن Firefox يعطيني مشاكل مع العناصر ذات الهوامش السالبة. أرغب في إضافة علامة نمط html2canvas-only لعنصر معين ، مثل: data-html2canvas-style="margin-left: 0"
.
هل حظ أي شخص آخر بأي شيء مثل هذا؟
يمكنك تعديل محتويات المستند (وهو نسخة طبق الأصل من المستند الأصلي) الذي سيتم عرضه باستخدام الخيار onclone
، على سبيل المثال:
html2canvas(document.body, {onclone: function(document) {
document.querySelector('.something').style.marginLeft = 0;
}}).then(...)
شكرا نيك! نقدر كثيرا عملك في هذه المكتبة. هل هذا في الوثائق؟
لا، للاسف لا. تفتقر الوثائق إلى حد كبير في كثير من النواحي في الوقت الحالي ...
لا تحصل صورتي التي تم تنزيلها على التصميم المناسب ، لذا فأنا أستخدم النمط المحسوب إلى النمط المضمن لعرضها بشكل صحيح عن طريق تحويل كل
حاولت أن أفعل الشيء نفسه ، وإليك كيفية تنفيذه وتم تنزيل جميع الأنماط بشكل صحيح:
const computedStyleToInlineStyle = require("computed-style-to-inline-style");
html2canvas(document.querySelector(".someclass"), {onclone: function(document) {
computedStyleToInlineStyle(document.querySelector(".someclass"), {
recursive: true
});
}}).then(canvas => {
const imgData = canvas.toDataURL('image/png');
...
});
التعليق الأكثر فائدة
يمكنك تعديل محتويات المستند (وهو نسخة طبق الأصل من المستند الأصلي) الذي سيتم عرضه باستخدام الخيار
onclone
، على سبيل المثال: