JS拦截方法
来源:互联网 发布:办公软件应用教程 编辑:程序博客网 时间:2024/06/05 09:55
关于JS拦截方法
在网上找了好久关于JS拦截方法的文章,没有什么发现,仔细研究后整理如下代码,还望大家多多指正。
其实最主要的就是
Object.getOwnPropertyNames(example).forEach(function (property)这段代码,遍历对象内部的所有方法,判断如果是方法并且等于方法名,则进行拦截,这里我拦截的window全局所有方法,但是感觉不太好,不知可否有大神指点如何只拦截全局自定义的方法,过滤掉window对象内自身的方法。
original.apply(example, Array.prototype.slice.call(arguments));这段代码的意思是将原有方法再添加回去,如果去掉将不执行原有方法内代码,执行拦截传递的方法代码
<span style="font-family: Arial, Helvetica, sans-serif;">intercept(window,"hello",fn);</span>
function intercept(example,funName,fun){ //example 遍历对象,funName需要拦截的方法名 ,fun拦截后执行的方法 Object.getOwnPropertyNames(example).forEach(function (property) { var original = example[property]; if (typeof original === "function"&&original.name == funName) { example[property] = function () { if(fun){ fun(property); }else{ return false; } original.apply(example, Array.prototype.slice.call(arguments)); } } });}function fn(property){ console.log('Intercepted call to function:', property);}function hello(varstr){ console.log('varstr=',varstr);}hello('test');
0 0
- JS拦截方法
- webView 拦截js alert转换为原生dialog的方法
- OC与JS交互方法(一)拦截URL
- js拦截弹窗广告原理及方法
- Struts2_拦截器(方法拦截)
- 异步 JS拦截技术
- js 函数 拦截器
- js拦截键盘事件 ext拦截事件
- Spring MVC RestFul风格对css.js等文件的拦截处理方法大全
- session超时后页面跳转到登陆页的js拦截方法
- iOS和JS的交互之在代理方法拦截Url,识别判断
- 定义不被SpringMVC拦截的静态资源(html, js, css等文件)通用方法
- Spring 方法拦截示例
- 拦截器方法过滤
- struts2_方法拦截器
- php拦截器方法
- 拦截器方法过滤
- AOP方法级拦截
- Android天气预报程序(八)
- 【架构】关于RabbitMQ
- Microsoft.ACE.OLEDB.12.0
- c++11 auto
- 点击导航按钮后进入百度地图app,如果手机没有安装的话,就跳转到AppStore
- JS拦截方法
- maven的pom报plugins缺失的解决方法
- Centos6.5安装gcc及g++
- AdaBoost人脸检测原理
- Java类代码块执行顺序
- 是个末排序的数字
- codec-wm8960分析
- 一句话,grunt是个神器啊
- 10 个迅速提升你 Git 水平的提示