我在IE11中遇到了一些奇怪的行爲,當涉及到重寫JavaScript中的函數。IE 11緩存的JavaScript覆蓋
在網頁中我有以下代碼:
(function()
{
var tempSetItem = window.localStorage.setItem;
window.localStorage.setItem = function (key, data)
{
var newdata = JSON.stringify(data);
newdata = JSON.parse(newdata);
newdata.CachedDate = new Date();
tempSetItem.call(window.localStorage, key, JSON.stringify(newdata));
};
})();
這應該簡單地重寫localStorage.setItem()
功能。
但是,我遇到了代碼的一些麻煩,並決定評論它。 當我刷新頁面(清除緩存ofcourse)同樣的問題仍然存在。 我很快意識到,IE瀏覽器以某種方式緩存了我的覆蓋。 我搜索了我的所有文件,以確保我沒有覆蓋它在任何其他地方,我甚至試圖通過控制檯手動設置爲空(換句話說,它不應該爲空後刷新)和刷新後,它現在是空的。
它似乎被緩存每個域或每個URL以某種方式,我不知道如何清除此緩存或如果它甚至可能。
我甚至試過修復IE,但localStorage.setItem在我的網頁上仍然是空的。