• js动态改变img元素src在IE无效的问题


      做了个验证码功能,需要做个点击改变验证码图片的功能,使用js改变img的src,代码如下

    $("#cerificationCodeImg").attr("src","common/image.jsp");

      image.jsp是用来生成验证码图片的,chrome下没有问题,IE下图片没有刷新,FF下也没有。搜索答案,在stackoverflow上找到了答案。链接如下:Dynamically change image src using Jquery not working in IE and firefox

      原回答如下:

      IE caching all GET request, so add a timestamp to your request URL e.g :

    $(".linkEmail").click(function () {
    
            //Load captcha image
    
            $('.imgCaptcha').attr('src', '/Custom/AppCode/Utilities/CaptchaGenerator.ashx?'+new Date().getTime());
    
    
            $('#emailModal').modal();
    
        });
    

      大意是IE下会缓存什么的云云,不必深究,在后面把时间传进去就OK了,那我的js代码就相应改成了

    	$("#cerificationCodeImg").attr("src","common/image.jsp?"+new Date().getTime());
    

     OK,在IE和FF都正常工作了。

    补记:后来一位同学碰到类似的问题,但他的情况并不是去请求页面,只是用js动态的改变图片的src,src是直接用的静态图片,虽然服务器的图片已改,但是前台依旧显示旧图片,使用上面说的方法可以解决问题。套样上面的代码就是:

    $("#cerificationCodeImg").attr("src","common/image.jpg?"+new Date().getTime());

      其实jsp页面和静态图片都属于url资源,据此推测,加timestamp的方法适用于任何使用url访问的资源缓存问题。

  • 相关阅读:
    Andriod调试桥
    抓包工具charles的使用
    测试常用工具
    Indentation error codes
    Cmder 中文乱码的解决方法
    修改Cmder命令提示符
    统计单词出现的字数
    将字串内容输出到文件
    python数据实例str
    python语法检查工具
  • 原文地址:https://www.cnblogs.com/ValiancyHe/p/3420394.html
Copyright © 2020-2023  润新知