如何在Firefox中编辑函数setItem?

时间:2018-03-19 16:30:35

标签: javascript firefox local-storage instrumentation

我已经设法通过创建另一个函数,在Javascript中添加我自己的功能,然后调用apply(this, arguments)来检测函数:

window["functionA"] = function(){...}

在Google Chrome浏览器上,我还设法调整属于setItem的函数localStorage,所以我写道:

localStorage["setItem"] = function(){...}

以上作品非常出色,写localStorage.setItem代替localStorage["setItem"]也有效。

虽然这适用于Google Chrome,但在localStorage["setItem"]localStorage.setItem上,localStorage被视为localStorage["setItem"] = function(){...}中的存储项而不是新功能,因此每当调用function() {...}时,{ {1}}存储为setItem中位置localStorage中的字符串。有没有人知道为什么Firefox会以不同于Chrome的方式处理这个问题,或者是否存在解决此问题的任何方法?

1 个答案:

答案 0 :(得分:1)

您是否尝试过修补存储原型?

Storage.prototype.setItem = function(key, value)
{
  //
}