لصق الصور من الحافظة في Gmail: كيف يتم ذلك في Chrome 12
إعلان Google عن إمكانية لصق الصور مباشرة من الحافظة إلى أثار استخدام Gmail لـ Chrome 12 الفضول حول الآلية الأساسية. على الرغم من استخدام أحدث إصدار من Chrome، لم يتمكن بعض المستخدمين من العثور على معلومات حول كيفية تنفيذ هذا التحسين في Webkit.
بعد التجربة، يبدو أن Chrome قد اعتمد مواصفات Clipboard API الناشئة. تتيح هذه المواصفات تعريف معالج الأحداث "لصق" الذي يمكنه الوصول إلى خاصية events.clipboardData.items. من خلال استدعاء getAsFile() على كل عنصر، يمكن الحصول على كائن Blob. يمكن بعد ذلك استخدام FileReader في Blob هذا لتحديد محتوياته.
يوجد أدناه مقتطف من التعليمات البرمجية يوضح كيفية الحصول على عنوان URL للبيانات لصورة تم لصقها:
document.onpaste = function (event) { var items = (event.clipboardData || event.originalEvent.clipboardData).items; for (var index in items) { var item = items[index]; if (item.kind === 'file') { var blob = item.getAsFile(); var reader = new FileReader(); reader.onload = function (event) { console.log(event.target.result); // data URL! }; reader.readAsDataURL(blob); } } };
بمجرد توفر عنوان URL للبيانات، يمكن عرض الصورة. وبدلاً من ذلك، يمكن تحميله باستخدام FormData أو readAsBinaryString.
من المهم ملاحظة أنه على الرغم من أن JSON.stringify قد لا يعمل على قائمة العناصر مباشرة، إلا أنه يمكن الحصول على أنواع MIME من خلال التكرار عبر كل عنصر باستخدام بنية بيانات DataTransferItem. .
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3