在IE7下,用innerHTML无法插入图片吗?我的情况是这样的:
我要根据在file字段选择不同的图片,然后在一个DIV里把图片显示出来,相当于预览图片。
我IE7.0,同在自己的电脑上,在遨游浏览器可以实现,但是在IE7里无法实现。
为什么呢?怎么解决?
<script language="JavaScript">
<!--
function PreviewImg()
{
var imgSrc;
imgSrc=myfile.value;
imageID=document.getElementById("myimageID");
showID=document.getElementById("myshowID"); imageID.innerHTML="<img src='"+imgSrc+"' >";
showID.innerHTML=imgSrc
}
//-->
</script><input type="file" id="myfile" name="myfile" size=50><div id="myimageID">在此插入图片。</div>
<div id="myshowID">在此显示图片路径。</div>
<input type="button" value="点击插入图片" onclick="javascript:PreviewImg();">
我要根据在file字段选择不同的图片,然后在一个DIV里把图片显示出来,相当于预览图片。
我IE7.0,同在自己的电脑上,在遨游浏览器可以实现,但是在IE7里无法实现。
为什么呢?怎么解决?
<script language="JavaScript">
<!--
function PreviewImg()
{
var imgSrc;
imgSrc=myfile.value;
imageID=document.getElementById("myimageID");
showID=document.getElementById("myshowID"); imageID.innerHTML="<img src='"+imgSrc+"' >";
showID.innerHTML=imgSrc
}
//-->
</script><input type="file" id="myfile" name="myfile" size=50><div id="myimageID">在此插入图片。</div>
<div id="myshowID">在此显示图片路径。</div>
<input type="button" value="点击插入图片" onclick="javascript:PreviewImg();">
<!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>
<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>
<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>
<script type='text/javascript'>
function tt(){
var dd = document.getElementById("f");
dd.innerHTML = "<img src='bb.gif' />";
}
</script>
<div id="f" onclick="tt()">
关键是看dd 是否是对像了
</div>
function $(id){
return document.getElementById(id);
}
function preview(filePath, img){
// DOM是通用方法
var nImg = document.createElement('img');
nImg.id = img.id;
nImg.src = 'file:\/\/\/' + filePath.replace(/\\/g, '\/');
img.parentNode.replaceChild(nImg, img);
}
</script>
<input type="file" onchange="preview(this.value, $('test'))"/><img id="test" />