[hook.js]通用Javascript函数钩子
[bool]hook:params{ realFunc[String|must]:用于保存原始函数的函数名称,用于unHook; hookFunc[Function|must]:替换的hook函数; context[Object|opt]:目标函数所在对象,用于hook非window对象下的函数,如String.protype.slice,carInstance1 methodName[String|opt]:匿名函数需显式传入目标函数名eg:this.Begin = function(){....}; } [bool]unhook:params{ realFunc[String|must]:用于保存原始函数的函数名称,用于unHook; funcName[String|must]:被Hook的函数名称 context[Object|opt]:目标函数所在对象,用于hook非window对象下的函数,如String.protype.slice,carInstance1 } Examples <script src=hook.js></script> var myHook = new Hooks(); myHook.initEnv(); //普通全局函数 var _alert = null; function myalert(param){console.log("before hook");} alert.hook("_alert",myalert); alert.unhook("_alert","alert"); alert(1); //自定义对象匿名函数 function Person() { this.getName = function(name) { alert('Call' + name); } } var p = new Person(); var _p_getName = null; function mygetName(name){alert("Hooked");} p.getName.hook("_p_getName",mygetName,p,"getName"); p.getName.unhook("_p_getName","getName",p); p.getName("pnig0s"); //原型对象函数 var _slice = null; function myslice(param){alert("Hooked");} String.prototype.slice.hook("_slice",myslice,String.prototype); String.prototype.slice.unhook("_slice","slice",String.prototype); var str = "pnig0s"; str.slice(1); myHooks.cleanEnv(); //clear hooks


























- 粉丝: 36
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- DLLXW-data-science-competition-5384-1753355108382.zip
- jvs-机器人开发资源
- 深入理解计算机系统CSAPP完整学习笔记与代码实践项目-计算机系统原理程序优化存储器层次链接机制异常控制虚拟内存系统IO网络编程并发处理-为计算机专业学生和开.zip
- kmvvm-Kotlin资源
- openai-agents-python-AI人工智能资源
- netease-cloud-music-gtk-Rust资源
- 基于 JAVA 开发的开源微信开源微信小程序商城系统
- 华为敏捷软件开发.ppt
- 数控车床编程G90指令.ppt
- ThinkCMF-移动应用开发资源
- 异构存储虚拟化环境解决方案样本.docx
- 网络信息安全RSA密码数字签名技术.doc
- 信息检索与阅读:中文数据库使用方法.ppt
- 项目管理案例分析.ppt
- 通信工程调研报告范文.doc
- 中小企业网络会计发展探析【精品发布】.doc


