Buenas, tengo el siguiente código, es un simple form que seleccionas una imagen y lo visualiza en el body. Mi problema es que me funciona en todos los navegadores menos en Safari ¿porqué?
Lo tengo localizado en el evento "onload" del objeto FileReader, no se me ocurre como solucionar esto. Gracias por vuestra ayuda.
Código HTML:
<!DOCTYPE HTML>
<html>
<title>Administrador</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script language="JavaScript" type="text/javascript" src="ent/js/jquery-1.8.0.min.js"></script>
</head>
<body id="body">
<form enctype="multipart/form-data">
<input type="file"/>
</form>
<script>
$(":file").change(function(){
previewURL(this);
});
function previewURL(fileinput){
var fileObj = fileinput,
file;
if (fileObj.files) {
file = fileObj.files[0];
var fr = new FileReader;
fr.onload = changeimg;
fr.readAsDataURL(file)
} else {
file = fileObj.value;
changeimg(file);
}
}
function changeimg(str) {
if(typeof str === "object") {
str = str.target.result; // file
}
$("body").html("<img src='"+str+"'></img>");
alert (str);
}
</script>
</body>