Javascript将图片 缩略图显示(克服IE缓存)

本文介绍使用JavaScript实现图片缩略图显示的方法。包括通过创建img元素并设置其属性来生成缩略图,以及解决IE浏览器缓存问题的两种方案:使用静态图片控件和在URL后添加随机数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Javascript将图片 缩略图显示:

 

方案一:        

      var url; //图片位置

         var imageContainer; //显示图片的容器

 

         url = document.getElementById("ImgUrlData").value;

         imageContainer = document.getElementById("divImageName1");

 

         imgheader.src = url;

         imgheader.style.display = "block";

        

         showThumbnail(url, imageContainer);

        

 

         //显示缩略图

        function showThumbnail(url, imageContainer) {

 

                    if (url=="" || url == "undefined") {

                         return;

                    }

 

                     var img = document.createElement("img");

 

                     img.setAttribute("border", 0);

                     img.setAttribute("width", 100);

                     img.setAttribute("height", 100);

                     img.setAttribute("src", url);

 

                     imageContainer.innerHTML = "";

                     imageContainer.appendChild(img);             

          }

功能实现了! 

发现:在IE中连续请求同一页面时,会不再以缩略图显示,而直接出现原大图。想了一下,原因是:缩略小图是不存在的,只是用脚本处理了(实际缩略图是大图的url)。当请求同一页面时,由于IE缓存了页面,用户请求时,不再调用页面的javascript 脚本,也就没有进行缩略图处理,所以显示大图。

 

于是采用下方案:

方案二:直接放一静态图片控件,控件设置了大小(能解决IE缓存,强制按图片控件大小进行显示)。

 在页面中加入,

 <img alt="" id="imageheader" src="" style="border:0px; height:100px; width:100px; display:none;" /> // display:none 先不显示。

 

 

 

写入javascript 脚本

         var url; //图片位置

 

         url = document.getElementById("ImgUrlData").value;

         var imgheader = document.getElementById("imageheader");

        

         imgheader.src = url;

         imgheader.style.display = "block";//设置显示

       

三:

 

采用一方法,只是在url后面加随机数,以达到改变url形式的目的,每次请求时,都是不同的url, 从而避免了IE缓存。

形如 www.example.com/good.aspx ? (随机数) Math.random()

url=url+"?"+ Math.random().toString()

 

 

 

此外,注意:可在后台加入javascript代码。

  this.ClientScript.RegisterStartupScript(Type.GetType("System.String"), "LoadImage" + "LoadImage".GetHashCode().ToString(), string.Format("<script language=/"javascript/">LoadImage('{0}');</script>", actionInfo.ActionImage));

 

          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值