一旦将img src标记替换为新的src,是否有办法根本不转到旧的src

时间:2019-06-06 12:32:40

标签: jquery html

我正在尝试使用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进行任何方式的呼叫。有什么办法可以完全阻止我拨打电话吗?

2 个答案:

答案 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);