zoukankan      html  css  js  c++  java
  • 记一次IE浏览器做图片预览的坑

    随便写写吧,被坑死了


    IE 10 及 IE10以上,可以使用FileReader的方式,来做图片预览,加载本地图片显示
    IE 9 8 7 没有FileReader这个对象,所以只能使用微软自己的东西来做,具体就是,使用CSS Filter,滤镜来做显示

    坑来了,就在这里,IE浏览器会默认将上传的文件名,做了个隐藏,不显示文件在本机的实际路径,而是搞了个什么fakepath来遮掩具体路径
    这就导致一个很直接的问题,获取不到真实的文件路径,就没法读取文件,自然无法做显示了。

    可以通过开启上传文件显示具体文件路径的方式,但是,这就没有用户体验了。。。。。
    网上找了一圈子,看到有些博客中出现了 FileObject.select() 以及 document.selection.createRange().text 说实话,没见过,不知道什么用,所以开始时也没去尝试使用,
    后来又找了些文章,决定试一下,额 发现可以了,具体来来说,使用对象的select方法指定元素被选中,然后去读取这个元素的值,这个值不一定是value,而是具体元素的内容,比如
    file控件中,显示的具体的文件路径,通过获取它的TextRange对象,就能读取具体的值,这种绕过直接获取file控件的value(在IE下被转换了),来获取具体文件路径。

    目前使用最新IE浏览器 仿真模式 IE 7 8 9 直接使用上面的方式,会有问题,显示拒绝访问,为了安全性的问题。所以将焦点转到页面上一个无关的div或者button上,感觉最好是button按钮比较好。 这样就能成功获取了

    贴几个讲解比较全面的博文,也谢谢这些博主!

    http://gallop-liu.iteye.com/blog/1344778
    http://www.cnblogs.com/slyzly/articles/2411940.html

  • 相关阅读:
    mysql学习日志
    Python学习day10 Javascript/Jquery
    Python学习day07 多线程多进程及主机管理
    Linux基本命令
    django 用户认证/Excel导入Mysql
    转:iptables详解
    Python django前端导入Excel脚本
    Python学习day08 分布式监控系统开发实战
    Subline Text2
    MySQL 常用函数分析
  • 原文地址:https://www.cnblogs.com/heartlake/p/7736569.html
Copyright © 2011-2022 走看看