问题:IE版本7和8未显示在
JavaScript中完成的更新的IMG SRC更改
你可以看到我的意思,如果你去下面的URL,在左边的(3)我想要一个不同的衬垫,你选择其中一个样本;让我们说你选择“Asahi Chartreuse”.请注意,左侧预览没有任何反应.但是如果你继续选择另一个样本,你会看到左侧的预览显示Asahi Chartreuse.所以它落后了.这就是我认为这是一个“刷新”问题的原因.它适用于Chrome就好了.
在IE中:注意,如果单击其他控件,则会进行刷新.
你可以在这里看到代码:https://www.casemodo.com/test.asp
我到底做了什么:
我在更改src后尝试将focus()设置为图像.
我已经尝试过,在更改src之后,告诉style.display被隐藏然后可见.
我尝试在页面上创建一个隐藏(而不是隐藏)的文本输入框,然后在更改img src后将focus()设置为它.
我试过设置window.focus().
我已经尝试过(如你所见)在更改src后设置警报.
GUESS:现在的样子是JavaScript引擎在我设置src后暂停,直到您在屏幕上的其他位置手动单击(焦点).所以它甚至从未涉及我上面尝试过的所有脚本.
解决方法
将src属性设置为null,然后将其设置为新的url:
在jquery中:
var myImg = $('#myImg'); myImg.attr('src',null); myImg.attr('src',newUrl);
在直js:
var myImg = document.getElementById('myImg'); myImg.src = null; myImg.src = newUrl
这对我有用 – 这让我很生气!