zoukankan      html  css  js  c++  java
  • 本地预览图片html和js例子

    本地预览图片html和js例子,直接上代码吧。
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>测试本地图片预览</title>
    </head>
    <body>
        <div>
            <div id="preview_div" style="width200pxheight200pxborder1px solid #b6ff00cursorpointer;" onclick="previewFunc();">
                <img id="preview_img" style="width:100%;height:200px;"/>
                <input id="upload_img" type="file" style="width:0px;height:0px;" />
            </div>
        </div>
    </body>
    </html>
    <script type="text/javascript">
        function previewFunc()
        {
            document.getElementById("upload_img").click();
        }
     
        //值改变的话
        document.getElementById("upload_img").onchange = function () {
            var sender = this;
            if (!sender.value.match(/.jpg|.gif|.png|.bmp/i)) {
                alert('图片格式无效!');
                return false;
            }
     
            var objPreviewImg = document.getElementById('preview_img');
            var objPreviewDiv = document.getElementById('preview_div');
     
            if (navigator.userAgent.indexOf("MSIE") > -1) {
                //IE浏览器的话
                try {
                    objPreviewImg.src = createFileObj(this.files[0]);
                }
                catch (e) {
                         //ie7中不兼容出错跳到这里
                    this.select();                                  //选择的时候
                    top.parent.document.body.focus();                //如果要嵌套到iframe中进行显示的话,需要加这个将焦点聚到iframe里面
                    this.blur();                                   //必须要加这个
                    var src = document.selection.createRange().text;          //IE 11中改为如下:document.selection ---》  window.getSelection  
                    document.selection.empty();
                    objPreviewImg.style.display = "none";                 //隐藏img控件
                    objPreviewDiv.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
                    objPreviewDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src;
                }
            } else {
                //chrome firfox都可以
                objPreviewImg.src = createFileObj(this.files[0]);
            }
        }
     
        function createFileObj(filePath)
        {
            var url = null;
            if (window.createObjectURL != undefined) {
                url = window.createObjectURL(filePath);
            } else if (window.URL != undefined) {
                url = window.URL.createObjectURL(filePath);
            } else if (window.webkitURL != undefined) {
                url = window.webkitURL.createObjectURL(filePath);
            }
            else {
     
            }
            return url;
        }
    </script>
     
    //----------------------------------------------------------------------
    以上需要注意的地方是
     <input id="upload_img" type="file" style="width:0px;height:0px;" /> 
    注意不能用display:none的样式进行隐藏,否则ie7中无论如何都不能获取到对应value值。
    以上代码嵌套到iframe中也是可以进行预览的,如果自己想封装组件的朋友可以自己再封装一下,或者用jQuery重写一下就OK了。
     





  • 相关阅读:
    python多线程爬虫:亚马逊价格
    python在linux中输出带颜色的文字的方法
    单线程爬虫VS多线程爬虫的效率对比
    python爬虫:正则表达式
    爬虫-python调用百度API/requests
    Python gevent学习笔记-2
    Python gevent学习笔记
    IO多路复用之select总结
    select、poll、epoll之间的区别总结[整理]
    2020年 IEDA破解码失效,2019 版IDEA无法使用 ,已解决,有效期2100年;原标题:IDEA激活—免费永久激活(lookdiv.com)
  • 原文地址:https://www.cnblogs.com/workky/p/6061931.html
Copyright © 2011-2022 走看看