js图片上传前预览功能(兼容所有浏览器)


Posted in Javascript onAugust 24, 2016

网上找到的一份文件上传前预览的代码,转自JavaScript 图片的上传前预览(兼容所有浏览器)

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <style type="text/css">
 #preview,
 .img,
 img {
  width: 200px;
  height: 200px;
 }
 
 #preview {
  border: 1px solid #000;
 }
 </style>
</head>

<body>
 <div id="preview"></div>
 <input type="file" onchange="preview(this)" />
 <script type="text/javascript">
 function preview(file) {
  var prevDiv = document.getElementById('preview');
  if (file.files && file.files[0]) {
   var reader = new FileReader();
   reader.onload = function(evt) {
    prevDiv.innerHTML = '<img src="' + evt.target.result + '" />';
   }
   reader.readAsDataURL(file.files[0]);
  } else {
   prevDiv.innerHTML = '<div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>';
  }
 }
 </script>
</body>
</html>

实现要点

● 对于 Chrome、Firefox、IE10 使用 FileReader 来实现。 
● 对于 IE6~9 使用滤镜 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader 来实现。
测试了一下IE8+都没有问题。但是IE7下file.value被浏览器去掉了文件路径分割线从而显示不出来 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Mootools 1.2教程 事件处理
Sep 15 Javascript
jQuery库与其他JS库冲突的解决办法
Feb 07 Javascript
javaScript 删除字符串空格多种方法小结
Oct 24 Javascript
关于JavaScript中string 的replace
Apr 12 Javascript
用javascript关闭本窗口技巧小结
Sep 05 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
Sep 22 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
Dec 29 Javascript
JavaScript实现数字数组按照倒序排列的方法
Apr 06 Javascript
原生js与jQuery实现简单的tab切换特效对比
Jul 30 Javascript
Javascript中call,apply,bind方法的详解与总结
Dec 12 Javascript
JavaScript设计模式之代理模式简单实例教程
Jul 03 Javascript
JavaScript中时间格式化新思路toLocaleString()
Nov 07 Javascript
聊一聊jQuery插件uploadify使用方法
Aug 24 #Javascript
前端程序员必须知道的高性能Javascript知识
Aug 24 #Javascript
关于JavaScript数组你所不知道的3件事
Aug 24 #Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
Aug 24 #Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
Aug 24 #Javascript
jQuery Raty 一款不错的星级评分插件
Aug 24 #Javascript
jQuery实现自动输入email、时间和域名的方法
Aug 24 #Javascript
You might like
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
JQuery实现点击div以外的位置隐藏该div窗口
2013/09/13 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
详解JS函数重载
2014/12/04 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
个人廉洁自律承诺书
2014/03/27 职场文书
作文批改评语大全
2014/04/23 职场文书
购房协议书范本
2014/10/02 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书