posts - 0, comments - 77, trackbacks - 0, articles - 356
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          <html>
          <head>
          <title>兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現</title>
          <meta http-equie="keywords" content="兼容ie,firefox,netscape,等比例圖片,javascript">
          <script type="text/javascript">
          /*
           兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現
           author:semovy@gmail.com
           date:14:39 上午 2007-10-9
           @param:targetImg string id 待顯示等比例調整過的目標元素的id字符串
           @param:imgSrc string src 等處理的圖片源路徑字符串
           @param:fitWidth int 等顯示圖片的最大寬度
           @param:fitHeight int 等顯示圖片的最大高度
          */
          function resizeImage(targetImg,imgSrc,fitWidth,fitHeight)
          {
           var imgSrc = "file:///" + imgSrc.replace(/\\/g,"/");//本地路徑c:\a.jpg,而ff,ns不支持,所以替換成file:///c:/a.jpg這種形式
           var img = document.getElementById(targetImg);//獲取目標圖片元素容器
           var tempImg = new Image();//建立臨時圖片對象
           tempImg.src = imgSrc;//給臨時圖片對象賦予圖片源
           var scale=1.0;//圖片度高比例因子.
           var width=0,height=0;
           
           /*firefox實現了complete屬性,而ie實現了complete屬性和readyState屬性
           但是兩者對屬性的定義好像不同:
           firefox: 一個圖像被下載完畢,complete屬性就是true,沒有下載完畢則為false
           ie:一個圖像沒有被下載完畢,則readyState屬性為uninitialized,complete屬性是false.當下載完畢時,
           readyState為complete,而如果此時圖片還沒有顯示,complete為false,顯示以后(display:block)此屬性才變成true
           */
           
           if(document.all)//如果是ie
           {
            if(tempImg.readyState=='complete')
            {
             width = tempImg.width;//獲取源圖片寬,高
             height = tempImg.height;
            }
           }
           else(tempImg.complete)//fire fox ,netscape
           {
            width = tempImg.width;
            height = tempImg.height;
           }
           scale = width/height;//寬度比例因子
           if(width > fitWidth)//等比例調整
           {
            width = fitWidth;
            height = width/scale; 
            if(height > fitHeight)
            {
             height = fitHeight;
             width = height*scale;
            }
           }
           if(height > fitHeight)
           {
            height = fitHeight;
            width = height*scale;
           }
           img.width = width;//調整后的寬,高
           img.height = height;
           img.src = imgSrc;
           img.style.display="";//顯示圖片
          }
          </script>
          </head>
          <body>
          <!--目標顯示圖片組件,初始化為隱藏格式-->
          <img id="img" style="display:none">
          <input type="file" id="imgFile" onchange="resizeImage('img',this.value,150,150)">
          </body>
          </html>

          評論

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現  回復  更多評論   

          2007-11-15 11:28 by 杜聯
          hello
          為什么我用 inp="file:///" + inp.replace(/\\/g,"/");
          var example=new Image();
          example.src=inp;
          if(example.complete){
          alert(example.height);


          注:inp為圖片路徑

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現[未登錄]  回復  更多評論   

          2007-11-21 11:33 by kevin
          需要修改FF的安全策略嗎?

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現  回復  更多評論   

          2007-11-28 00:14 by psdshow
          經測試ff 2.0.0.9 下無效

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現  回復  更多評論   

          2008-03-10 16:05 by re
          經測試無效

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現  回復  更多評論   

          2008-05-25 04:30 by yangedie
          測試無效阿,那算了

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現  回復  更多評論   

          2008-07-10 10:45 by keyfan
          Firefox 下不行啊。

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現  回復  更多評論   

          2008-08-29 11:42 by 特斯塔
          測試無效!

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現  回復  更多評論   

          2008-10-11 16:44 by 程序員
          未經測試,無效!

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現  回復  更多評論   

          2008-11-05 15:50 by ~
          FF安全機制 限制了本地文件的預覽。 放在C盤的靜態頁面除外。。呵呵

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現[未登錄]  回復  更多評論   

          2009-12-04 11:34 by 森林
          Firefox下無效,IE下第一次顯示,以后的都不行了。

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現  回復  更多評論   

          2009-12-28 13:36 by 冰涼
          Firefox下無效,IE下第一次顯示,以后的都不行了。

          # re: 兼容于ie,firefox,netscape的等比例圖片本地預覽的javascript實現[未登錄]  回復  更多評論   

          2010-01-24 04:12 by cc
          http://www.cnblogs.com/cloudgamer/archive/2009/12/22/ImagePreview.html
          這個圖片預覽兼容ie和ff
          主站蜘蛛池模板: 什邡市| 垫江县| 靖远县| 合阳县| 乐亭县| 新郑市| 明光市| 康平县| 巴彦县| 阜新市| 米脂县| 南溪县| 常宁市| 辽中县| 永仁县| 南昌县| 奈曼旗| 兰州市| 延寿县| 岚皋县| 余江县| 自贡市| 白河县| 台东市| 项城市| 天全县| 临西县| 锡林浩特市| 威信县| 浪卡子县| 和政县| 徐水县| 木里| 尼勒克县| 辛集市| 洛扎县| 金堂县| 巴塘县| 龙南县| 淮北市| 囊谦县|