2015-05-16 21 views
5

W Gecko/Firefox dostałem komunikat o błędzie:JavaScript readAsDataurl nie jest funkcją

TypeError: fr.readAsDataurl is not a function

Korzystanie następujące javascript:

var fr = new FileReader(); 
fr.readAsDataURL(files[i]); 
+0

@MartijnPieters Zadałem pytanie w sposób, w jaki inni, którzy zetkną się z nim, zadadzą i opublikują odpowiedź w dopasowaniu do sytuacji. Sugerujesz, że umieszczę odpowiedź wewnątrz pytania? To nie miałoby logicznego sensu. – John

+1

Ach, przepraszam, tęskniłem za tym, że stworzyłeś tutaj własną odpowiedź. Mój błąd! –

+1

Dzięki. Wpadł na ten sam problem. – 32teeths

Odpowiedz

7

Jak się okazuje kogoś na Mozilla stworzyła przestarzałej metody readAsDataurl z niewłaściwą obudową listową i ponieważ JavaScript rozróżnia małe i wielkie litery, musiałem po prostu użyć metody readAsDataURL (duży adres URL):

if (fr.readAsDataURL) {fr.readAsDataURL(files[i]);} 
else if (fr.readAsDataurl) {fr.readAsDataurl(files[i]);} 

Należy zauważyć, że standardowa/właściwa metoda obudowy została wykryta pierwsza. Jeśli chcesz, aby twój kod działał tak szybko, jak to możliwe, jego wydajność poprawi się z czasem, gdy poprawi się obsługa standardów.