Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE 11缓存javascript覆盖_Javascript_Internet Explorer_Caching_Browser Cache - Fatal编程技术网

IE 11缓存javascript覆盖

IE 11缓存javascript覆盖,javascript,internet-explorer,caching,browser-cache,Javascript,Internet Explorer,Caching,Browser Cache,我在IE11中遇到了一些奇怪的行为,比如在javascript中重写函数 在网页上,我有以下代码: (function () { var tempSetItem = window.localStorage.setItem; window.localStorage.setItem = function (key, data) { var newdata = JSON.stringify(data); newdata = JSON.parse(

我在IE11中遇到了一些奇怪的行为,比如在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()
函数

然而,我在代码方面遇到了一些问题,并决定将其注释掉。 当我刷新页面时(当然清除了缓存),同样的问题仍然存在。 我很快意识到IE以某种方式缓存了我的覆盖。 我搜索了我所有的文件,以确保我没有在其他地方覆盖它,我甚至试图通过控制台手动将它设置为null(换句话说,刷新后它不应该为null),刷新后,它现在为null

它似乎以某种方式按域或URL进行缓存,我不知道如何清除此缓存,或者是否可能


我甚至尝试修复IE,但localStorage.setItem在我的网页上仍然为空。

我仍然不知道为什么会缓存覆盖,但我找到了一种方法来重置它。 调用
localStorage.clear()
重置整个localStorage对象,包括setItem函数

为了避免问题的其余部分,我只做了一个普通的包装函数,而不是重写原始的包装函数,并在调用
localStorage.setItem()
的所有地方调用它