IE 11 缓存 javascript 覆盖
IE 11 caching javascript overrides
在 javascript.
中覆盖函数时,我在 IE11 中遇到了一些奇怪的行为
在网页上我有以下代码:
(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()
函数。
但是,我 运行 遇到了一些代码问题,因此决定将其注释掉。
当我刷新页面(当然清除缓存)时,同样的问题仍然存在。
我很快意识到 IE 以某种方式缓存了我的覆盖。
我搜索了我所有的文件以确保我没有在其他任何地方覆盖它,我什至尝试通过控制台手动将它设置为空(换句话说,刷新后它不应该为空)并且刷新后,它现在为空。
它似乎以某种方式按域或按 URL 缓存,我不知道如何清除此缓存,或者是否有可能。
我什至尝试修复 IE,但 localStorage.setItem 在我的网页上仍然为空。
我仍然不知道为什么覆盖会被缓存,但我找到了重置它的方法。
调用 localStorage.clear()
重置整个本地存储对象,包括 setItem 函数。
为了避免剩下的问题,我只是做了一个普通的包装函数而不是覆盖原来的函数,并从所有我会调用的地方调用它 localStorage.setItem()
.
在 javascript.
中覆盖函数时,我在 IE11 中遇到了一些奇怪的行为在网页上我有以下代码:
(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()
函数。
但是,我 运行 遇到了一些代码问题,因此决定将其注释掉。 当我刷新页面(当然清除缓存)时,同样的问题仍然存在。 我很快意识到 IE 以某种方式缓存了我的覆盖。 我搜索了我所有的文件以确保我没有在其他任何地方覆盖它,我什至尝试通过控制台手动将它设置为空(换句话说,刷新后它不应该为空)并且刷新后,它现在为空。
它似乎以某种方式按域或按 URL 缓存,我不知道如何清除此缓存,或者是否有可能。
我什至尝试修复 IE,但 localStorage.setItem 在我的网页上仍然为空。
我仍然不知道为什么覆盖会被缓存,但我找到了重置它的方法。
调用 localStorage.clear()
重置整个本地存储对象,包括 setItem 函数。
为了避免剩下的问题,我只是做了一个普通的包装函数而不是覆盖原来的函数,并从所有我会调用的地方调用它 localStorage.setItem()
.