我已經瀏覽過類似的線程,並嘗試了所有建議無效的東西。在頁面加載後強制重繪/重新繪製firefox中的DOM元素
我想要的頁面通過改變它的src屬性一旦我有一個新的位置加載之後更換的圖像。我想用本地圖像替換圖像。
直接通過img.src = urlString改變src屬性;或使用setAttribute()方法設置src,但不重新繪製加載頁面中的圖像。我用window.alert(img.src);檢查src屬性是否真的發生了變化。
我用下面的代碼片段從here強制重繪。
var n = document.createTextNode(' ');
var disp = img.style.display;
img.appendChild(n);
img.style.display = 'none';
img.style.display = disp;
n.parentNode.removeChild(n);
似乎沒有任何工作。是因爲頁面已加載還是因爲我正在使用本地文件?
本地文件在%AppData%\ temp,這可能是一個權限問題嗎?瀏覽器控制檯不會引發任何錯誤。我不想刷新整個頁面,因爲有人可能在表單中輸入內容,並且他們將丟失數據。
任何輸入,將不勝感激。謝謝。
編輯:一點澄清。 我使用擴展在每個窗口中注入一個腳本。一旦一個窗口加載了一個頁面,我將這些圖像發送給另一個腳本進行處理,然後該腳本將一個事件返回到具有一個位置的窗口到一個新文件。一旦事件被捕獲,就會調用一個函數來改變特定圖像的src屬性。我檢查了所有內容,src被更改,但瀏覽器不顯示新圖像。
另一編輯: 似乎沒有權限問題,因爲我可以使用file:/// pathtofile/從地址欄訪問該文件。使用外部網址(例如http://),即使在網頁加載後,它也可以正常工作。我怎樣才能使它與當地的網址合作?
如果將不會中斷您的文檔流程,你可以刪除舊的圖像(通過刪除它的DOM節點),並更換與新的一個。 – Zemljoradnik
我無法確定。我不知道我得到了什麼網頁,所以我不知道會有什麼樣的損害。 –