【发布时间】:2015-01-06 11:36:42
【问题描述】:
我正在加载的脚本行为不端。它的结构是这样的:
function bad_function() {
...
}
/* randomly generated stuff */
bad_function();
如果在脚本末尾立即调用bad_function,我该如何修改它的行为?我想在加载脚本之前在window 上创建一个静默只读属性,但是在执行上述脚本时会引发TypeError: Identifier 'bad_function' has already been declared 异常:
Object.defineProperty(window, 'bad_function', {
value: function() {
/* my monkey-patched code */
}
});
如何对这个函数进行猴子补丁?
【问题讨论】:
-
您在使用 Chrome 吗?这是您面临的特定于浏览器的问题吗?
-
@jjk_charles:不,它与浏览器无关,是脚本的问题。
-
您是在与原始 bad_function() 相同的 JS 文件中使用“defineProperty”,还是在不同的文件中?如果不同的文件,
-
@jjk_charles:我不能修改包含
bad_function的脚本,但是我可以修改加载它的页面。