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 相关文章推荐
自制基于jQuery的智能提示插件一枚
Feb 18 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
Apr 06 Javascript
jquery parent和parents的区别分析
Oct 02 Javascript
代码触发js事件(click、change)示例应用
Dec 13 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
Sep 26 Javascript
JS仿hao123导航页面图片轮播效果
Sep 01 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
May 16 Javascript
element跨分页操作选择详解
Jun 29 Javascript
微信小程序中data-key属性之数据传输(经验总结)
Aug 22 Javascript
vue 虚拟DOM的原理
Oct 03 Javascript
解决vue项目axios每次请求session不一致的问题
Oct 24 Javascript
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
Jun 29 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
1.PHP简介
2006/10/09 PHP
php 字符串替换的方法
2012/01/10 PHP
php获取参数的几种方法总结
2014/02/18 PHP
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
2012/02/03 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
使用js修改客户端注册表的方法
2013/08/09 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
彻底理解Python list切片原理
2017/10/27 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
Django中modelform组件实例用法总结
2020/02/10 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
建筑工程技术应届生求职信
2013/11/17 职场文书
请假条格式范文
2014/04/10 职场文书
代办出身证明书
2014/10/21 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
简历自我评价范文
2019/04/24 职场文书
Tomcat用户管理的优化配置详解
2022/03/31 Servers