我已经通过创建另一个函数,向其中添加自己的功能,然后调用apply(this, arguments)
来用Javascript来检测函数:
window["functionA"] = function(){...}
在Google Chrome上,我还设法检测了属于
setItem
的函数localStorage
,所以我写了:localStorage["setItem"] = function(){...}
上面的方法非常出色,用
localStorage.setItem
代替localStorage["setItem"]
也可以。尽管这在Google Chrome上有效,但在Firefox
localStorage["setItem"]
或localStorage.setItem
上,它们被视为localStorage
中的存储项,而不是新功能,因此,每当调用localStorage["setItem"] = function(){...}
时,function() {...}
都将作为字符串存储在位置在setItem
中。有人知道为什么Firefox与Chrome区别对待吗,或者是否存在解决此问题的方法? 最佳答案
您是否尝试过修补Storage的原型?
Storage.prototype.setItem = function(key, value)
{
//
}