Como visualizar uma imagem antes do upload usando JavaScript ou jquery?

Eu só preciso exibir a imagem escolhida (Procurar) pelo usuário antes do upload. Para esse fim, estou usando este código:

JS

function setImage(file) {
    if(document.all)
        document.getElementById('prevImage').src = file.value;
    else
        document.getElementById('prevImage').src = file.files.item(0).getAsDataURL();
    if(document.getElementById('prevImage').src.length > 0) 
        document.getElementById('prevImage').style.display = 'block';
}

HTML

<img id="prevImage"  src=""  alt="" width="313" height="315" />
<input name="photo1" id="photo1" type="file" onchange="setImage(this);"  value="" class="input" size="17"/>

Este código está funcionando bem no Safari, Firefox 3,4,5, mas não funciona no Google Chrome 12 ou superior e IE 8, 9.

Por favor, diga-me alguma solução sobre esses problemas?

Eu já tentei outra solução fornecida neste site, mas eles também não estão funcionando nos principais navegadores.

se você tiver uma solução para esse código ou um código completamente novo, informe-m

questionAnswers(2)

yourAnswerToTheQuestion