Inject/overrid 代码如何发挥作用?最佳实践?
how Inject/overrid code in function? best practice?
我有一个很大的 js 库 我不想更改,因为当他们更新代码时,我也必须每次都更新。所以我想尽可能少地注入或覆盖。并输入我的代码。
lib的代码和我在里面的代码是这样的:
var Erizo = {}
Erizo.Stream = function (spec) {
var that = Erizo.EventDispatcher(spec);
that.init = function (succesCallBack) {
Erizo.GetUserMedia(opt, function (stream) {
[...]
MY CODE
[...]
}
}
[...]
}
有没有办法注入我的代码并且不覆盖漏洞 Erizo.Stream 函数?因为这个功能很大。
谢谢
你应该这样做:
var oldFunction = Erizo.GetUserMedia
Erizo.GetUserMedia = function(opt, callback){
console.log("code injected")
oldFunction.apply(this,[opt, callback])
}
我有一个很大的 js 库 我不想更改,因为当他们更新代码时,我也必须每次都更新。所以我想尽可能少地注入或覆盖。并输入我的代码。
lib的代码和我在里面的代码是这样的:
var Erizo = {}
Erizo.Stream = function (spec) {
var that = Erizo.EventDispatcher(spec);
that.init = function (succesCallBack) {
Erizo.GetUserMedia(opt, function (stream) {
[...]
MY CODE
[...]
}
}
[...]
}
有没有办法注入我的代码并且不覆盖漏洞 Erizo.Stream 函数?因为这个功能很大。
谢谢
你应该这样做:
var oldFunction = Erizo.GetUserMedia
Erizo.GetUserMedia = function(opt, callback){
console.log("code injected")
oldFunction.apply(this,[opt, callback])
}