js原生方法被覆盖,从新赋值原生的方法


Posted in Javascript onJanuary 02, 2018

实现原理

js的原生方法被覆盖掉以后,如果你还没让原生方法又从新指向一个新的变量名,那就gg了。所以,关键就是怎么再获取到原生的方法。实现的原理呢就是创建一个新的window对象,然后从新的window对象里面获取原生的方法,来重新赋值。

使用iframe实现

首先创建一个iframe对象,使用document.createElement方法创建

var iframe = document.createElement("iframe");
document.body.appendChild(iframe)

然后,获取到iframe里面的window对象

var iframeWin = iframe.contentWindow;

最后赋值一下,即可

window.console = iframeWin.console;

使用window.open方法实现

window.open方法调用会打开一个新的窗口,返回一个新的window对象,所以我们获取window对象可以这样获取

var win = window.open(); //获取对象
win.close(); //将打开的窗口关闭
window.console = win.console;

以上这篇js原生方法被覆盖,从新赋值原生的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js下通过prototype扩展实现indexOf的代码
Dec 08 Javascript
javascript实现画不相交的圆
Apr 07 Javascript
JavaScript多图片上传案例
Sep 28 Javascript
JavaScript转换与解析JSON方法实例详解
Nov 24 Javascript
JavaScript html5利用FileReader实现上传功能
Mar 27 Javascript
jQuery滚动监听实现商城楼梯式导航效果
Mar 06 Javascript
javascript使用btoa和atob来进行Base64转码和解码
Mar 20 Javascript
JavaScript数组的5种迭代方法
Sep 29 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
Dec 07 Javascript
用原生 JS 实现 innerHTML 功能实例详解
Apr 03 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
Jul 19 Javascript
关于angular引入ng-zorro的问题浅析
Sep 09 Javascript
JS实现验证码倒计时的注册页面
Jan 02 #Javascript
使用socket.io实现简单聊天室案例
Jan 02 #Javascript
使用socket.io制做简易WEB聊天室
Jan 02 #Javascript
AngularJS实现的简单拖拽功能示例
Jan 02 #Javascript
AngularJS实现的锚点楼层跳转功能示例
Jan 02 #Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 #jQuery
Node实战之不同环境下配置文件使用教程
Jan 02 #Javascript
You might like
php正则表达式学习笔记
2015/11/13 PHP
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
Vue中父子组件的值传递与方法传递
2020/09/28 Javascript
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
python3实现表白神器
2019/04/09 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
Python基于execjs运行js过程解析
2020/11/27 Python
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
文秘专业大学生求职信
2013/11/10 职场文书
高中毕业自我鉴定
2013/12/13 职场文书
师德建设实施方案
2014/03/21 职场文书
怀念母亲教学反思
2014/04/28 职场文书
操行评语大全
2014/04/30 职场文书
建筑工地宣传标语
2014/06/18 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang