هل قامت الكروم بتنفيذ كائن DataTransfer بشكل غير صحيح؟

StackOverflow https://stackoverflow.com/questions/1895923

  •  19-09-2019
  •  | 
  •  

سؤال

عندما أقوم بذلك في حدث DragStart:

e.dataTransfer.setData('text/plain', 'text');
e.dataTransfer.setData('text/html', 'html');
e.dataTransfer.setData('application/x-bookmark', 'bookmark');

وهذا في حدث انخفاض:

for (var i = 0; i < e.dataTransfer.types.length; i++) {
   var type = e.dataTransfer.types[i];
   console.log(type + ":" + e.dataTransfer.getData(type));
}

كان من المفترض أن يكون لديك:

text/plain:text
text/html:html
application/x-bookmark:bookmark

كما حصلت في FF، ولكن في الواقع حصلت على:

Text:text
text/plain:text

في الكروم. أين ذهبت هذه البيانات؟ هل هذا يعني كروم لم ينفذ كائن Datatransfer بشكل صحيح؟ وماذا يمكنني أن أفعل حيال ذلك؟

ركضت هذا في Chrome 4.0.266.0

هل كانت مفيدة؟

المحلول

نعم إنه خطأ في الكروم. انظر القضايا 31037 والقضية 30240 في تعقب المشكلات الكروم (Chromium هو الإصدار المصدر المفتوح من Google Chrome). لا أرى أي حل آخر من انتظار إصلاح الخلل. يمكنك مساعدتهم على إصلاحه من خلال توفير حالة اختبار بسيطة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top