如何通过注入脚本修改/扩展JavaScript函数?
问题描述:
比方说这个功能...如何通过注入脚本修改/扩展JavaScript函数?
function foo(param){
// original works
}
已经就地一个html文件内。
我有一个书签注入外部脚本到文档。从该脚本中,我想修改foo()函数的行为...
function foo(param){
// original works
bar(param);
}
bar()是注入脚本中的一个新函数。 我没有问题在注入的脚本中重复foo。
我该怎么做?
答
JavaScript中的所有内容都可以是一个对象,包括函数。考虑到这一点,你可以创建旧功能的副本,然后覆盖新的一个,而引用重复:
function foo(param){
// original works
}
var old_foo = foo;
function foo(param) {
old_foo(param);
bar(param);
}
我不知道为什么,我在测试类似这样的东西,哎呀例外:* RangeError:当我运行新的foo时,超出最大调用堆栈大小*。 PS:+1。 – JCOC611 2011-01-27 02:36:12