jsFiddle URL: http://jsfiddle.net/Xotic750/AjtLxKorzystanie readAsDataURL() do podglądu obrazu
pracuje nad tym cały dzień i nie widzę problemu. Prawdopodobnie wynika to z mojego wąskiego rozumienia sposobu działania obiektów FileReader, ale próbuję użyć funkcji readAsDataURL() w celu uzyskania obrazów wybranych przez użytkownika i wyświetlenia ich podglądu na ekranie w tabeli. Wszystko działa bez ... zgadłeś ... podgląd ... dobrze. Myślę, że jestem blisko, ponieważ podgląd zadziała, ALE wyświetli tylko ostatni obraz z zestawu. Powiedzmy na przykład, że gdybym załadował 6 obrazów, wtedy pierwszy rząd 3 obrazów zostałby złamany, w drugim rzędzie pierwsze 2 byłyby zerwane, a ostateczne szóste zdjęcie wyświetliło podgląd .... Każda rada bardzo się spodobała. Ponadto, raz to działa może pomóc inni próbują zrobić to samo, bo Rozglądałem całego rozwiązania tego problemu, a ja nie potrafię kopać nic się ....
function PreviewImages() {
var inputID = document.getElementById('input_clone');
var totalImages = inputID.files.length;
var imagesPerRow = 3;
var numRows = totalImages/imagesPerRow;
var row = "";
var cell = "";
var element1 = "";
var elementID = "";
for(var i = 0; i < numRows; i++){ //create rows
row = document.getElementById('image_preview_table').insertRow(i);
for(var ii = 0; ii < imagesPerRow; ii++){ //create cells
cell = row.insertCell(ii);
elementID = "img_" + ii;
element1 = document.createElement("img");
element1.name = elementID;
element1.id = elementID
cell.appendChild(element1);
oFReader = new FileReader();
oFReader.onload = function(oFREvent){
var dataURI = oFREvent.target.result;
var image = document.getElementById(elementID);
image.src = dataURI;
};
oFReader.readAsDataURL(document.getElementById("input_clone").files[ii]);
}
}
}
Nice! Wydaje się działać świetnie w chrome, ale problem w firefox. – commanderZiltoid
Sam przyjrzałem się i znalazłem problem. Drugi parametr faktycznie nie jest opcjonalny w 'removeEventListener'. Wygląda na to, że Chrome nie narzeka, ale Firefox to robi. Zmodyfikowane skrzypce można znaleźć na http://jsfiddle.net/6cgTj/23/. –
@Ray Nicholas, tak, to jest problem w Firefoksie. Zaktualizowałem i wszystkie powinny działać. – Xotic750