欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實(shí)現(xiàn)上傳圖片實(shí)時(shí)預(yù)覽功能

 更新時(shí)間:2017年05月22日 10:10:18   作者:codeeeeeeee  
這篇文章主要介紹了JS實(shí)現(xiàn)上傳圖片實(shí)時(shí)預(yù)覽功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

前段時(shí)間在網(wǎng)絡(luò)上找的代碼,修改了一部分用在了項(xiàng)目里。原博客地址找不到了,如果原作者看到的話留言我,將于第一時(shí)間刪除。

//js本地圖片預(yù)覽,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3
  function PreviewImage(fileObj) {
    //創(chuàng)建dom元素
    var divPreviewId = 'divPreview_' + fileObj.name;
    var imgPreviewId = 'imgHeadPhoto_' + fileObj.name;
    var html='<div id="'+divPreviewId+'">'+
          '<img id="'+imgPreviewId+'" src="images/moren.jpg" style="width: 120px; height: 120px; border: solid 1px #d2e2e2;" />'+
         '</div>';
    $('#'+divPreviewId).remove();
    $(fileObj).after(html);
    //進(jìn)行限制
    var allowExtention = ".jpg,.bmp,.gif,.png"; //允許上傳文件的后綴名document.getElementById("hfAllowPicSuffix").value;
    var extention = fileObj.value.substring(fileObj.value.lastIndexOf(".") + 1).toLowerCase();
    var browserVersion = window.navigator.userAgent.toUpperCase();
    if (allowExtention.indexOf(extention) > -1) {  //格式正確
      if (fileObj.files) {  //HTML5實(shí)現(xiàn)預(yù)覽,兼容chrome、火狐7+等
        if (window.FileReader) {
          var reader = new FileReader();
          reader.onload = function (e) {
            document.getElementById(imgPreviewId).setAttribute("src", e.target.result);
          }
          reader.readAsDataURL(fileObj.files[0]);
        } else if (browserVersion.indexOf("SAFARI") > -1) {
          $('#'+divPreviewId).remove();
          alert("不支持Safari6.0以下瀏覽器的圖片預(yù)覽!");
        }
      } else if (browserVersion.indexOf("MSIE") > -1) {
        if (browserVersion.indexOf("MSIE 6") > -1) {//ie6
          document.getElementById(imgPreviewId).setAttribute("src", fileObj.value);
        } else {//ie[7-9]
          fileObj.select();
          if (browserVersion.indexOf("MSIE 9") > -1)
            fileObj.blur(); //不加上document.selection.createRange().text在ie9會(huì)拒絕訪問(wèn)
          var newPreview = document.getElementById(divPreviewId + "New");
          if (newPreview == null) {
            newPreview = document.createElement("div");
            newPreview.setAttribute("id", divPreviewId + "New");
            newPreview.style.width = document.getElementById(imgPreviewId).width + "px";
            newPreview.style.height = document.getElementById(imgPreviewId).height + "px";
            newPreview.style.border = "solid 1px #d2e2e2";
          }
          newPreview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + document.selection.createRange().text + "')";
          var tempDivPreview = document.getElementById(divPreviewId);
          tempDivPreview.parentNode.insertBefore(newPreview, tempDivPreview);
          tempDivPreview.style.display = "none";
        }
      } else if (browserVersion.indexOf("FIREFOX") > -1) {//firefox
        var firefoxVersion = parseFloat(browserVersion.toLowerCase().match(/firefox\/([\d.]+)/)[1]);
        if (firefoxVersion < 7) {//firefox7以下版本
          document.getElementById(imgPreviewId).setAttribute("src", fileObj.files[0].getAsDataURL());
        } else {//firefox7.0+          
          document.getElementById(imgPreviewId).setAttribute("src", window.URL.createObjectURL(fileObj.files[0]));
        }
      } else {
        document.getElementById(imgPreviewId).setAttribute("src", fileObj.value);
      }
    } else {
      $('#'+divPreviewId).remove();
      alert("僅支持" + allowExtention + "為后綴名的文件!");
      fileObj.value = ""; //清空選中文件
      if (browserVersion.indexOf("MSIE") > -1) {
        fileObj.select();
        document.selection.clear();
      }
      fileObj.outerHTML = fileObj.outerHTML;
    }
    return fileObj.value;  //返回路徑
  }

以上所述是小編給大家介紹的JS實(shí)現(xiàn)上傳圖片實(shí)時(shí)預(yù)覽功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 合并多個(gè)ArrayBuffer場(chǎng)景及方法示例

    合并多個(gè)ArrayBuffer場(chǎng)景及方法示例

    這篇文章主要為大家介紹了合并多個(gè)ArrayBuffer方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 在DWR中實(shí)現(xiàn)直接獲取一個(gè)JAVA類的返回值的兩種方法

    在DWR中實(shí)現(xiàn)直接獲取一個(gè)JAVA類的返回值的兩種方法

    本文主要介紹了在DWR中實(shí)現(xiàn)直接獲取一個(gè)JAVA類的返回值的兩種方法,具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2016-12-12
  • JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名的示例代碼

    JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名效果,文中的示例代碼簡(jiǎn)潔易懂,具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • 一文搞懂JavaScript中的內(nèi)存泄露

    一文搞懂JavaScript中的內(nèi)存泄露

    以前我們說(shuō)的內(nèi)存泄漏,通常發(fā)生在后端,但是不代表前端就不會(huì)有內(nèi)存泄漏。特別是當(dāng)前端項(xiàng)目變得越來(lái)越復(fù)雜后,前端也逐漸稱為內(nèi)存泄漏的高發(fā)區(qū)。本文就帶大家了解一下Javascript的內(nèi)存泄漏
    2022-06-06
  • 淺析js中的every()對(duì)空數(shù)組總返回true

    淺析js中的every()對(duì)空數(shù)組總返回true

    JavaScript?語(yǔ)言的核心部分足夠大,以至于我們很容易誤解其某些部分的工作方式,本文就來(lái)和大家一起討論下為什么JS中的?every()對(duì)空數(shù)組總返回?true,需要的可以參考下
    2023-09-09
  • 自己寫了一個(gè)展開和收起的多更能型的js效果

    自己寫了一個(gè)展開和收起的多更能型的js效果

    展開和收起這樣的效果想必大家早就眼熟了吧,利用閑暇時(shí)間用js寫了一個(gè)具體功能:當(dāng)自己處于全部顯示的時(shí)候,點(diǎn)擊自己的收起,自己收起等等感興趣的你可以參考下哈
    2013-03-03
  • JS數(shù)組方法reduce的用法實(shí)例分析

    JS數(shù)組方法reduce的用法實(shí)例分析

    這篇文章主要介紹了JS數(shù)組方法reduce的用法,結(jié)合實(shí)例形式詳細(xì)分析了JS數(shù)組方法reduce的基本功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • JavaScript極簡(jiǎn)入門教程(二):對(duì)象和函數(shù)

    JavaScript極簡(jiǎn)入門教程(二):對(duì)象和函數(shù)

    這篇文章主要介紹了JavaScript極簡(jiǎn)入門教程(二):對(duì)象和函數(shù),本文講解了對(duì)象基礎(chǔ)知識(shí)、函數(shù)基礎(chǔ)知識(shí)、函數(shù)調(diào)用、異常、繼承等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • Js經(jīng)典案例的實(shí)例代碼

    Js經(jīng)典案例的實(shí)例代碼

    JS實(shí)現(xiàn)鼠標(biāo)懸停切換圖片,顯示天氣預(yù)報(bào),利用焦點(diǎn)實(shí)現(xiàn)選擇網(wǎng)站的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • js位運(yùn)算在實(shí)際中使用的實(shí)例教程

    js位運(yùn)算在實(shí)際中使用的實(shí)例教程

    我們可能很少在編程中用位運(yùn)算,如果沒(méi)深入學(xué)習(xí),可能也很難理解,下面這篇文章主要給大家介紹了關(guān)于js位運(yùn)算在實(shí)際中使用的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評(píng)論