"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يعمل لصق الصور من الحافظة في تحديث Chrome 12+ في Gmail؟

كيف يعمل لصق الصور من الحافظة في تحديث Chrome 12+ في Gmail؟

تم النشر بتاريخ 2024-11-08
تصفح:256

How Does Pasting Images from Clipboard Work in Gmail\'s Chrome 12  Update?

لصق الصور من الحافظة في 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