`
frank1998819
  • 浏览: 758519 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

js兼容IE、谷歌Chrome、火狐Firefox的上传图片预览代码(转载)

 
阅读更多

以下代码兼容IE、谷歌Chrome、火狐Firefox:
该文章转载自[余志国网站设计工作室]:http://www.yuzhiguo.com/articleview.asp?id=357

 

 

<!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>
该文章转载自[余志国网站设计工作室]:http://www.yuzhiguo.com/articleview.asp?id=357

分享到:
评论

相关推荐

    js上传前预览图片,兼容IE,firefox,google

    这个话题涉及到的主要技术是JavaScript,特别是如何使用JavaScript来实现跨浏览器(包括IE、Firefox和Google Chrome)的图片预览功能。下面将详细介绍这一知识点。 首先,我们需要理解浏览器对文件API的支持。现代...

    js预览图片 上传前预览图片 兼容ie6.7.8.9 ff 谷歌 opera 苹果浏览器不兼容

    这个标题提到的"js预览图片 上传前预览图片 兼容ie6.7.8.9 ff 谷歌 opera 苹果浏览器",表明这是一个旨在解决浏览器兼容性问题的解决方案,涵盖了老版本的Internet Explorer(IE6到IE9)以及Firefox、Chrome、Opera...

    兼容最新firefox、chrome和IE的javascript图片预览实现代码

    主要介绍了兼容最新firefox、chrome和IE的javascript图片预览实现代码,测试了浏览器firefox6、firefox12、chrome 25.0.1364.172 m、IE6-IE10 都兼容,需要的朋友可以参考下

    在线预览PDF(无需任何插件) 支持IE/Firefox/Coogle

    6. **浏览器兼容性**:针对IE、Firefox和Chrome等不同浏览器,可能需要针对其特性进行特定的代码优化和适配。例如,对于IE,可能需要使用条件注释或polyfill来兼容旧版本的JavaScript API。 7. **响应式设计**:...

    swfupload上传控件demo支持上传,删除图片。兼容ie7+,火狐,谷歌浏览器

    标题和描述提到的"swfupload上传控件demo"是一个示例项目,展示了如何在实际应用中集成SwfUpload,实现图片的上传和删除功能,并且兼容IE7及以上版本,以及Firefox和Google Chrome等主流浏览器。 SwfUpload的核心...

    图片上传预览(支持火狐,谷歌,Ie)

    本文将详细讲解如何实现一个跨浏览器的图片上传预览功能,包括对火狐(Firefox)、谷歌(Chrome)以及Internet Explorer(IE)等主流浏览器的支持。 首先,我们需要明白,图片上传预览的核心在于利用JavaScript的...

    支持谷歌 360 火狐等图片上传预览

    "支持谷歌 360 火狐等图片上传预览"这个标题暗示了这是一个跨浏览器的解决方案,旨在确保在不同的浏览器环境下,如谷歌浏览器(Chrome)、360浏览器以及火狐浏览器(Firefox)中,图片预览功能都能正常运行。...

    国外的多文件上传带预览(支持IE、火狐、谷歌、opera)

    例如,IE浏览器通常对新特性的支持较慢,而现代浏览器如Chrome和Firefox则更倾向于支持最新的Web标准。因此,为了确保在所有这些浏览器上都能正常工作,开发者可能使用了如HTML5 File API、jQuery、或者专门的多文件...

    上传图片预览插件,jquery插件,支持多种浏览器

    描述中提到的“解决IE浏览器、谷歌浏览器、火狐浏览器,360浏览器等显示本地上传图片问题”,揭示了这个插件旨在解决不同浏览器之间图片预览不一致或无法预览的问题。 首先,jQuery是一个广泛使用的JavaScript库,...

    Asp.Net图片预览 支持多种浏览器

    本文将深入探讨如何实现一个跨浏览器的图片预览系统,以支持包括Internet Explorer(IE)、Google Chrome、Firefox、Opera在内的多种浏览器。 首先,理解Asp.Net图片预览的基本原理。在Asp.Net中,图片预览通常通过...

    IE与非IE浏览器调用PC摄像头拍摄并且上传

    在非IE浏览器中,如Chrome、Firefox、Safari和Edge(Chromium内核),WebRTC被广泛支持。使用`getUserMedia()` API可以请求访问用户的媒体设备,包括摄像头: ```javascript navigator.mediaDevices.getUserMedia({...

    头像上传图片剪切VS2010

    4. 浏览器兼容性:确保代码在除Chrome之外的其他主流浏览器(如Firefox、Safari、IE)中正常运行。 在VS2010中开发这样的功能,需要注意代码组织、性能优化和用户体验设计,确保用户能够方便快捷地完成头像上传和...

    页面浏览客户端自己的图片,不上传到服务器

    4. **浏览器兼容性**: 标签中提到了对Google Chrome、IE、360浏览器和Firefox的兼容。这些浏览器都支持HTML5,因此File API基本可以工作。不过,需要注意的是,对于旧版本的IE(如IE9及以下),可能需要使用...

    web 票据打印 ie web 票据打印

    - 兼容性:由于ActiveX控件是IE特有的,所以这种方式只适用于IE浏览器,对于其他浏览器(如Chrome、Firefox)需要使用其他技术,如JavaScript的window.print()方法或借助PDF插件。 五、替代方案 考虑到ActiveX的...

    JQ 图片放大

    4. **跨浏览器兼容**:由于该插件兼容IE、Firefox、Chrome和Safari等主流浏览器,这意味着无论用户使用何种浏览器,都能享受到一致的图片放大体验。 5. **配置选项**:为了满足不同需求,插件通常提供多种配置选项...

    pdfJS2.0943版本

    这意味着无论用户使用的是Firefox、Safari、Edge还是IE11,都可以流畅地查看PDF文档,提升了软件的兼容性和用户体验。 在提供的压缩包文件中,我们可以看到以下几个主要部分: 1. **LICENSE**:这是关于PDFJS库的...

    超好用的jQuery图片轮换插件nivo-slider

    nivo-slider致力于跨浏览器兼容性,支持主流的桌面和移动浏览器,包括IE7+、Firefox、Chrome、Safari以及移动版的iOS和Android。优化的JavaScript代码确保了在不同设备上的高性能运行。 总之,nivo-slider作为一款...

    scan扫描仪控件

    例如,Chrome和Firefox通常不支持ActiveX,可能需要使用WebSocket或其他技术进行通信。 7. **安全性与权限**:在网页上调用本地设备可能涉及到用户的隐私和安全问题。因此,确保控件遵循最新的Web标准和安全实践,...

    浏览器显示TIF格式图像的方法

    由于其复杂性,一般的网页浏览器如Chrome、Firefox、Safari和Edge等并未内置解析TIF的能力。为了在浏览器中查看TIF图像,我们需要采用一些特殊的方法,主要包括使用特定的插件或通过HTML对象标签插入。 1. **使用...

Global site tag (gtag.js) - Google Analytics