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 Event学习第六章 事件的访问
Feb 07 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 Javascript
jquery实现简单的二级导航下拉菜单效果
Sep 07 Javascript
JavaScript必知必会(六) delete in instanceof
Jun 08 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
Mar 03 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
Nov 27 Javascript
Angular网络请求的封装方法
May 22 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
Dec 15 Javascript
js面试题之异步问题的深入理解
Sep 20 Javascript
理解JavaScript中的Proxy 与 Reflection API
Sep 21 Javascript
写一个Vue loading 插件
Nov 09 Javascript
js中Object.create实例用法详解
Oct 05 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中使用cookie来保存用户登录信息的实现代码
2012/03/08 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
laravel 数据验证规则详解
2019/10/23 PHP
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
js几个验证函数代码
2010/03/25 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
js转换对象为xml
2017/02/17 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
python解决字典中的值是列表问题的方法
2013/03/04 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
Python数据可视化:箱线图多种库画法
2019/11/06 Python
利用python在excel中画图的实现方法
2020/03/17 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
西部世纪.net笔试题面试题
2014/04/03 面试题
创先争优活动心得体会
2014/09/04 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python