2012-09-09 44 views
0

如何使用javascript和/或html自動(即沒有用戶輸入/操作)重新加載一次使用JavaScript和/或HTML重新加載一次使用img標記嵌入我的頁面的特定圖像頁面已完全加載?我想要從源位置重新加載圖像,而不是瀏覽器緩存。 Plz有點清醒。自動圖像只能重新加載一次:javascript或html

回答

1

您可以在IMAGE元素源上附加虛擬URL參數。例如,如果圖像URL是http://mysite.com/image.jpg,請將其更改爲http://mysite.com/image.jpg?dummy。如果圖片網址已經有一些參數,例如http://mysite.com/image.jpg?varname=VarValue,請將其更改爲http://mysite.com/image.jpg?varname=VarValue&dummy。通常,虛擬參數是當前時間的數字。

下面是使用時間作爲虛擬參數的示例代碼。它會將圖片網址更改爲http://mysite.com/image.jpg?1347218169148之類的內容。該函數將在頁面加載後執行,並將處理所有IMAGE元素。

<script> 
onload = function() { 
    var i, imgs = document.images; 
    for (i = 0; i < imgs.length; i++) { 
    imgs[i].src += (imgs[i].src.indexOf('?') < 0 ? '?' : '&') + (new Date()).valueOf(); 
    } 
}; 
</script> 
+0

我無法在源代碼中更改圖像url,因爲圖像位於我無法控制的另一個域中。在這種情況下我能做些什麼?其次,我可以將函數放在body標籤中,並由onLoad觸發,如下所示:' window.onload = function(){...}'或''在結束之前''標籤? – Mon

+0

你原來的問題說,圖像使用'IMAGE'標籤放在你的頁面中。這不會違反跨域限制,因爲'IMAGE'標籤位於您自己的域中的自己的頁面中。該代碼可以放在任何地方,因爲實際的函數執行將在加載頁面後完成。如果放在'BODY'標籤的'ONLOAD'屬性中,它應該是'onload =「(function(){/ *函數代碼* /})();」'。 – Jay

+0

謝謝周杰倫!完美運作。 – Mon

相關問題