`

用户图上传从本地加载图片,兼容ie6+,chrome,firefox

 
阅读更多

直接上代码

 写道
<!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=utf-8" />
<title>本地图片预览</title>
<style type="text/css">
#preview{width:100px;height:100px;border:1px solid #000;overflow:hidden;}
#imghead {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);}
</style>
<script type="text/javascript">
function previewImage(file)
{
var MAXWIDTH = 100;
var MAXHEIGHT = 100;
var div = document.getElementById('preview');
if (file.files && file.files[0])
{
div.innerHTML = '<img id=imghead>';
var img = document.getElementById('imghead');
img.onload = function(){
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
img.width = rect.width;
img.height = rect.height;
img.style.marginLeft = rect.left+'px';
img.style.marginTop = rect.top+'px';
}
var reader = new FileReader();
reader.onload = function(evt){img.src = evt.target.result;}
reader.readAsDataURL(file.files[0]);
}
else
{
var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
file.select();
var src = document.selection.createRange().text;
div.innerHTML = '<img id=imghead>';
var img = document.getElementById('imghead');
img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);
div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;margin-left:"+rect.left+"px;"+sFilter+src+"\"'></div>";
}
}
function clacImgZoomParam( maxWidth, maxHeight, width, height ){
var param = {top:0, left:0, width:width, height:height};
if( width>maxWidth || height>maxHeight )
{
rateWidth = width / maxWidth;
rateHeight = height / maxHeight;

if( rateWidth > rateHeight )
{
param.width = maxWidth;
param.height = Math.round(height / rateWidth);
}else
{
param.width = Math.round(width / rateHeight);
param.height = maxHeight;
}
}

param.left = Math.round((maxWidth - param.width) / 2);
param.top = Math.round((maxHeight - param.height) / 2);
return param;
}
</script>
</head>
<body>
<div id="preview">
<img id="imghead" width=100 height=100 border=0 src=''>
</div>
<br/>
<input type="file" onchange="previewImage(this)" />
</body>
</html>
 
分享到:
评论

相关推荐

    ie chrome firefox 兼容

    在上面的代码中,如果用户使用的是 Firefox、Chrome、Opera 或 Safari 浏览器,那么将跳转到指定的 URL 否则,将跳转到另外的 URL。 浏览器兼容性处理是 Web 开发中一个非常重要的问题,因为不同的浏览器可能会有...

    firebug for IE6+, Firefox, Opera, Safari and Chrome

    标题提到的"firebug for IE6+, Firefox, Opera, Safari and Chrome",意味着这是一个跨浏览器的解决方案,旨在为开发者提供在不同浏览器上调试和优化网页的能力。 Firebug Lite是Firebug的轻量级版本,适用于不支持...

    iScroll支持IE8+,FIREFOX,CHROME

    它在手机触屏设备上表现出色,同时也兼容桌面浏览器,包括IE8及更高版本,Firefox和Chrome。iscroll的核心功能是提供高性能、低内存占用的滚动解决方案,适用于各种网页组件,如滚动列表、轮播图等。 **iscroll的...

    图片延迟加载(兼容IE&FF&Chrome)

    这篇博文《图片延迟加载(兼容IE&FF&Chrome)》可能详细介绍了如何实现这一技术,虽然具体的实现代码没有直接提供,但从标签“源码”我们可以推测,博主可能分享了一段JavaScript代码来实现这个功能。`temp.html`可能...

    JS导入导出Excel 兼容IE、Firefox、Chrome等浏览器

    "JS导入导出Excel 兼容IE、Firefox、Chrome等浏览器"这一技术主题,聚焦于如何使用JavaScript(JS)在各种浏览器环境下处理Excel文件,包括古老的Internet Explorer(IE)、Firefox以及Chrome。下面我们将深入探讨这...

    图片瀑布流jQuery代码兼容ie6+主流浏览器

    对于"图片瀑布流jQuery代码兼容ie6+",这意味着这个代码片段旨在利用jQuery来创建瀑布流布局,并且兼容Internet Explorer浏览器从版本6到最新的现代浏览器,如Chrome和Firefox。 在实现图片瀑布流的过程中,主要...

    2014-5-6更新 兼容ie[6-9]、火狐、Chrome、opera、maxthon3、360浏览器的js本地图片预览

    兼容ie[6-9]、火狐、Chrome、opera、maxthon3、360浏览器的js本地图片预览"提供了一个JavaScript解决方案,用于实现一个功能强大的本地图片预览功能,它能在多种主流浏览器中正常工作,包括古老的Internet Explorer ...

    图片上传 预览 兼容 IE firefox

    本篇文章将详细探讨如何实现“图片上传预览”功能,并确保在IE 6/7/8及Firefox(包括新版)等浏览器中的兼容性。 首先,我们需要了解不同浏览器对HTML5新特性的支持情况。现代浏览器如Chrome、Safari和新版Firefox...

    兼容IE,firefox,chrome图片缩放功能

    在网页开发中,确保图片在不同的浏览器上,如Internet Explorer(IE)、Firefox和Chrome中能够正确缩放是一项重要任务。由于各个浏览器对CSS、JavaScript等技术的实现可能存在差异,因此需要采用兼容性处理来实现这...

    IE6、_IE7、IE8、Firefox兼容性问题

    在网页开发中,兼容性问题是一个常见且棘手的问题,尤其是涉及到老版本的Internet Explorer(IE6、IE7、IE8)和Firefox等其他浏览器。这些浏览器对于CSS(层叠样式表)的解析方式存在差异,导致在不同浏览器中页面...

    纯css-loading兼容Safari ,Chrome,Mozilla Firefox,opera,ie10+

    本文将详细探讨如何创建一个兼容多种浏览器的纯CSS加载动画,包括Safari、Chrome、Mozilla Firefox、Opera以及IE10及以上的版本。 首先,我们需要了解CSS的特性。CSS(Cascading Style Sheets)是一种样式表语言,...

    QQ在线客服浮动代码兼容IE6,7,8、Firefox、Opera、Chrome

    这个代码的核心在于其跨浏览器兼容性,确保在多种主流浏览器上都能正常运行,包括老版本的Internet Explorer(IE6、IE7、IE8)以及Firefox、Opera和Chrome。下面我们将深入探讨这些知识点。 首先,我们来了解**QQ...

    图片滚动展示单击放大代码,使用prettyPhoto插件,代码兼容:IE6,IE7,IE8,Firefox,chrome

    本教程将探讨如何实现一个图片滚动展示功能,并在单击时使用prettyPhoto插件实现图片放大,同时确保代码兼容多种浏览器,包括IE6、IE7、IE8、Firefox和Chrome。 首先,`prettyPhoto`是一个流行的jQuery插件,它为...

    IE6、IE7、IE8、Firefox、Chrome、Safari的CSS hack兼容一览表

    ### IE6、IE7、IE8、Firefox、Chrome、Safari的CSS Hack兼容一览表 在Web开发过程中,为了确保网站能够在不同的浏览器中保持一致的显示效果,开发者常常需要运用CSS Hack技术来解决浏览器间的兼容性问题。CSS Hack...

    Jquery对话栏 兼容 精简jQuery代码兼容ie6+主流浏览器

    其次,考虑到兼容性,该对话框需要在IE6+及主流浏览器(如Chrome、Firefox)中正常工作。这需要开发者对各种浏览器之间的差异有深入理解,特别是对于老旧的IE浏览器,它们在CSS样式支持、JavaScript API实现和盒模型...

    iFrame高度自适应终极解决方案(兼容IE7,8,9 Firefox3.6+,Chrome 12+)

    "iFrame高度自适应终极解决方案(兼容IE7,8,9 Firefox3.6+,Chrome 12+)"这个标题所指向的,就是一种跨浏览器的策略,确保iFrame内容无论何时更新,都能自动调整其高度,从而避免滚动条的出现和内容溢出。...

    jquery 弹出框,可以拖动。在任兼容ie6~ie9 firefox 谷歌

    在任兼容ie6~ie9 firefox 谷歌”指的是一个基于jQuery实现的弹出对话框插件,它具有拖动功能,并且兼容Internet Explorer 6到9,以及Firefox和Google Chrome等现代浏览器。这个插件可能采用了jQuery的核心功能,如...

    树使用css选择器优化代码(IE7+,firefox3,opera9,chrom下可用)

    本篇文章将探讨如何使用CSS选择器来优化代码,使之适用于IE7+、Firefox 3、Opera 9以及Chrome等主流浏览器。 首先,理解CSS选择器的性能差异是优化的关键。CSS选择器分为多个级别,从基础的ID选择器(#id)、类选择器...

    Tabs切换卡jQuery代码兼容ie6+主流浏览器

    这里特别提到了对IE6到IE9以及Chrome和Firefox等主流浏览器的兼容性,这意味着该代码经过优化,可以在多种浏览器环境中稳定运行。 在描述中,“轻量简洁容易上手使用”表明这个jQuery插件或者代码片段设计得非常...

Global site tag (gtag.js) - Google Analytics