我正在尝试使用jquery替换img标签的src属性以呈现图像。
我之所以要这样做,是因为我在存在img标签的页面上没有控件。
我只能使用jquery替换src。 但是,在呈现由新src指定的图像之前,呼叫仍转到旧的src。
这是我尝试过的:
display: flex
其中jq('img[src="' + ImgSrc + '"]').hide(0).attr('src', buttonUrlNew).show(0);
是旧的src,而ImgSrc
是新的src。
使用hide我可以隐藏旧src的图像,但是,在网络调用中,我可以看到正在对旧src进行任何方式的呼叫。有什么办法可以完全阻止我拨打电话吗?
答案 0 :(得分:0)
我认为这可能是一个缓存问题,请尝试以下操作:
jq('img[src="' + ImgSrc + '"]').hide(0).attr('src', buttonUrlNew + "?v=" + new Date().getTime()).show(0);
无需隐藏和显示图像,您无需这样做即可直接实现。
jq('img[src="' + ImgSrc + '"]').attr('src', buttonUrlNew + "?v=" + new Date().getTime());
这将防止捕获图像并强制下载新图像。
答案 1 :(得分:0)
我不太明白为什么您要在该图像上使用隐藏和显示。我只需要设置src属性即可立即更新图像。我使用svg作为第一张和第二张图片,但这不会使结果有所不同。
另外,我将使用ID作为选择器,因为它将消除第一张图片的URL中的任何错误格式(绝对/相对等)。
像这样:$('#image').attr('src', buttonUrlNew);