关于IE7关闭窗口时总是提示和上传图片前的本地预览解决办法

相关地址:http://www.cnblogs.com/y-j/archive/2007/06/14/783615.aspx

在上面这个文章里,没有理解清楚作者的意思,并且也没有亲自实验,给出了错误的回复,望作者见谅…… 今天明白了作者意图之后,重新想了一下,解决办法还是有的,只是说起来比较长,所以直接写一篇在这里:

原问题:
不知道微软怎么搞,把IE7做成这样。
1.客户端也不能换图片。(只能用滤镜来替换)
2.关闭窗口也不能不提示,客户需求有强烈,害苦我这些程序员。 (未解决)

对于第一个问题,确实如作者所说,只能用滤镜,这个好像没有其他办法了,IE7和FF一样,都对本地文件做了一些限制,所以本地预览好像已经没有其他办法可以实现了。不过,使用滤镜也算是比较好的解决方案吧,也许会说这不符合标准,但是因为即使IE7支持了IE6的方案,FF一样不支持,所以现在改用滤境效果和原来是一样的,那就是只支持IE,不支持FF,至于标准,我感觉不必要拘束太多,既然已经无法做到兼容,那也只好找个变通的办法。

对于第二个问题,解决办法还是有的,不过和上面一样,还是无法在FF中实现,只能保证在IE6和IE7的正常运行,还是上面那个原因,这个也可以“当做”是解决了,两个问题的代码一同附下:

<!--以下均支持IE6和IE7,不支持Firefox2.0,其他浏览器未经测试-->
<script type="text/javascript">
function CloseWin()
{
window.opener=null;
window.open("","_self");
window.close();
}

function Preview(imgFile)
{
document.getElementById("pic").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
}
</script>

<a href="javascript:CloseWin();"> 点击这里无提示关闭当前窗口</a><br>

请选择要预览的图片:<input type="file" onchange="javascript:Preview(this);"><br>
<div id="pic" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);width:400px;height:200px;"></div>
posted @ 2007-06-19 08:50  丁学  阅读(14407)  评论(29编辑  收藏  举报