图片上传前 进行预览(支持IE6 IE7、 8)

今天做上传图片的东西,想弄个图片预览功能。

在IE6下很简单,用一个<img>,浏览本地文件时,将src属性设置下就Ok了,

后来发现在IE7下不行。

就研究了下,总结一个方法,废话就不多说了,看代码吧:


<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>本地图片预览代码(支持 IE6、IE7)</title>
<style type="text/css">
#newPreview
{
    filter
:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
}
</style>
<script type="text/javascript" language="javascript">
<!--
function PreviewImg(imgFile)
{
    
//原来的预览代码,不支持 IE7。
    var oldPreview = document.getElementById("oldPreview");
    oldPreview.innerHTML 
= "<img src=\"file:\\\\" + imgFile.value + "\" width=\"80\" height=\"60\" />";
    
    
//新的预览代码,支持 IE6、IE7。
    var newPreview = document.getElementById("newPreview");
    newPreview.filters.item(
"DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
    newPreview.style.width 
= "80px";
    newPreview.style.height 
= "60px";
}
-->
</script>
</head>

<body>

<p>说明:以下针对的是互联网情况,如果您在本地作测试,比如输入的地址是:http://127.0.0.1/,则可以看到全部预览。</p>

<hr />

<p>如果您使用的是 IE6,则可以看到以下预览;如果您使用的是 IE7,则看不到以下预览。</p>
<div id="oldPreview"></div>

<hr />

<p>不论您使用的是 IE6 还是 IE7,均可以看到以下预览。</p>
<div id="newPreview"></div>

<hr />

<p>请选择一个图片进行预览:<input type="file" size="20" onchange="javascript:PreviewImg(this);" /></p>

</body>

</html>

 

 不过FF下还是不行。,据说是FF出于安全性考虑默认禁止了本地文件的操作。

posted @ 2010-04-13 11:34  肚肚  阅读(253)  评论(0编辑  收藏  举报