js本地圖片預(yù)覽實(shí)現(xiàn)代碼
本文實(shí)例為大家分享了js本地圖片預(yù)覽實(shí)例,供大家參考,具體內(nèi)容如下
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <div id="divPreview"> <img id="imgHeadPhoto" src="noperson.jpg" style="width: 160px; height: 170px; border: solid 1px #d2e2e2;" alt="" /> </div> <input type="file" onchange="PreviewImage(this,'imgHeadPhoto','divPreview');" size="20" /> <script type="text/javascript"> //js本地圖片預(yù)覽,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3 function PreviewImage(fileObj, imgPreviewId, divPreviewId) { 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) { 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ì)拒絕訪問 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 { alert("僅支持" + allowExtention + "為后綴名的文件!"); fileObj.value = ""; //清空選中文件 if (browserVersion.indexOf("MSIE") > -1) { fileObj.select(); document.selection.clear(); } fileObj.outerHTML = fileObj.outerHTML; } return fileObj.value; //返回路徑 } </script> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS預(yù)覽圖像將本地圖片顯示到瀏覽器上
- Javascript圖片上傳前的本地預(yù)覽實(shí)例
- javascript IE7 瀏覽器本地圖片預(yù)覽
- 用js實(shí)現(xiàn)預(yù)覽待上傳的本地圖片
- 在頁面預(yù)覽客戶端本地圖片的js代碼(兼容FF IE)
- javascript firefox不顯示本地預(yù)覽圖片問題的解決方法
- 純JS實(shí)現(xiàn)本地圖片預(yù)覽的方法
- 詳解nodejs實(shí)現(xiàn)本地上傳圖片并預(yù)覽功能(express4.0+)
- 基于JavaScript實(shí)現(xiàn)本地圖片預(yù)覽
- 原生js FileReader對象實(shí)現(xiàn)圖片上傳本地預(yù)覽效果
- JavaScript實(shí)現(xiàn)圖片本地預(yù)覽功能【不用上傳至服務(wù)器】
相關(guān)文章
Auto.JS實(shí)現(xiàn)抖音刷寶等刷視頻app,自動(dòng)點(diǎn)贊,自動(dòng)滑屏,自動(dòng)切換視頻功能
auto.js是一個(gè)支持無障礙服務(wù)的Android平臺(tái)上的JavaScript IDE,可以編寫各種自動(dòng)化腳本,這篇文章主要介紹了Auto.JS實(shí)現(xiàn)抖音刷寶等刷視頻app,自動(dòng)點(diǎn)贊,自動(dòng)滑屏,自動(dòng)切換視頻功能,需要的朋友可以參考下2020-05-05asp.net中System.Timers.Timer的使用方法
asp.net中System.Timers.Timer的使用方法,需要的朋友可以參考一下2013-03-03javascript模板方法模式和職責(zé)鏈模式實(shí)例分析
這篇文章主要介紹了javascript模板方法模式和職責(zé)鏈模式,結(jié)合實(shí)例形式較為詳細(xì)的分析了模板方法模式和職責(zé)鏈模式基本原理、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2023-07-07JavaScript中字符串相關(guān)的方法使用總結(jié)
這篇文章主要為大家詳細(xì)介紹了JavaScript中字符串相關(guān)的方法使用,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以學(xué)習(xí)一下2023-08-08layer彈出層倒計(jì)時(shí)關(guān)閉的實(shí)現(xiàn)方法
今天小編就為大家分享一篇layer彈出層倒計(jì)時(shí)關(guān)閉的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09JS/jQuery實(shí)現(xiàn)默認(rèn)顯示部分文字點(diǎn)擊按鈕顯示全部內(nèi)容
默認(rèn)顯示部分文字,點(diǎn)擊按鈕顯示全部,類似這樣的功能在一些特殊的地方會(huì)見到吧,下面與大家分享下JS、jQuery如何實(shí)現(xiàn),感興趣的朋友可以參考下哈,希望對你有所幫助2013-05-05JS實(shí)現(xiàn)AES加密并與PHP互通的方法分析
這篇文章主要介紹了JS實(shí)現(xiàn)AES加密并與PHP互通的方法,結(jié)合實(shí)例形式分析了javascript與php的加密、解密算法相關(guān)操作技巧,需要的朋友可以參考下2017-04-04