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 相关文章推荐
Javascript客户端将指定区域导出到Word、Excel的代码
Oct 22 Javascript
JavaScript 中的日期和时间及表示标准介绍
Aug 21 Javascript
js图片延迟技术一般的思路与示例
Mar 20 Javascript
深入解析JavaScript编程中的this关键字使用
Nov 09 Javascript
深入分析Javascript事件代理
Jan 30 Javascript
js判断输入字符串是否为空、空格、null的方法总结
Jun 14 Javascript
Node.js中如何合并两个复杂对象详解
Dec 31 Javascript
基于JavaScript实现移动端无限加载分页
Mar 27 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
Jan 02 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
Apr 08 Javascript
浅谈vuex为什么不建议在action中修改state
Feb 02 Javascript
全面解析JavaScript Module模式
Jul 24 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自动更新新闻DIY
2006/10/09 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
2014/07/05 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
让alert不出现弹窗的两种方法
2014/05/18 Javascript
Javascript中的apply()方法浅析
2015/03/15 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
React路由管理之React Router总结
2018/05/10 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
python 下划线的不同用法
2020/10/24 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
用python对excel查重
2020/12/07 Python
python RSA加密的示例
2020/12/09 Python
柏林通行证:Berlin Pass
2018/04/11 全球购物
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
小学防溺水制度
2014/01/29 职场文书
《卖木雕的少年》教学反思
2014/04/11 职场文书
2014年设备管理工作总结
2014/11/26 职场文书
HTML通过表单实现酒店筛选功能
2021/05/18 HTML / CSS
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android