1. 程式人生 > >IE8.0 顯示本地圖片 img.src=本地圖片路徑無效的解決方案

IE8.0 顯示本地圖片 img.src=本地圖片路徑無效的解決方案

IE8.0 顯示本地圖片 img.src=本地圖片路徑 是無效,只能通過div來完成 。

IE7,IE8是放在 <div id="imgPreview"></div>裡的。

JS程式碼:

 function Preview(obj) {

            obj.select();
           
            //得到真實的圖片路徑
            var realpath = document.selection.createRange().text;
 
            var browser = getBrowserInfo();          
            var verinfo = (browser + "").replace(/[^0-9.]/ig, "");
                     
            if (verinfo == "8.0") {

                document.getElementById("imgPreview").innerHTML = "";
                document.getElementById("imgPreview").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',src=\"" + realpath + "\")"; //使用濾鏡效果,sizingMethod='scale'

            }
            else {
                document.getElementById("Image1").src = realpath;
            }
        }


        function getBrowserInfo() {
            var agent = navigator.userAgent.toLowerCase();

            var regStr_ie = /msie [\d.]+;/gi;
            var regStr_ff = /firefox\/[\d.]+/gi
            var regStr_chrome = /chrome\/[\d.]+/gi;
            var regStr_saf = /safari\/[\d.]+/gi;
            //IE
            if (agent.indexOf("msie") > 0) {
                return agent.match(regStr_ie);
            }

            //firefox
            if (agent.indexOf("firefox") > 0) {
                return agent.match(regStr_ff);
            }

            //Chrome
            if (agent.indexOf("chrome") > 0) {
                return agent.match(regStr_chrome);
            }

            //Safari
            if (agent.indexOf("safari") > 0 && agent.indexOf("chrome") < 0) {
                return agent.match(regStr_saf);
            }

        }

HTML程式碼:

  <div id="imgPreview" style='width:120px; height:100px;'>
                            <asp:Image ID="Image1" runat="server" Height="131px" Width="111px" CssClass="input" />
       </div>

  <asp:FileUpload ID="FileUpload1" runat="server"  onChange="Preview(this);" />