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日期对象的dateAdd与dateDiff方法
Nov 18 Javascript
用JavaScript显示随机图像或引用
Apr 21 Javascript
关于URL中的特殊符号使用介绍
Nov 03 Javascript
JS+css 图片自动缩放自适应大小
Aug 08 Javascript
动态加载js的方法汇总
Feb 13 Javascript
JavaScript中的setMilliseconds()方法使用详解
Jun 11 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
Mar 11 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
Dec 26 Javascript
ReactNative中使用Redux架构总结
Dec 15 Javascript
vue.js获得当前元素的文字信息方法
Mar 09 Javascript
JointJS流程图的绘制方法
Dec 03 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 session应用实例 登录验证
2009/03/16 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
php去除HTML标签实例
2013/11/06 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
无阻塞加载脚本分析[全]
2011/01/20 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
JS清空多文本框、文本域示例代码
2014/02/24 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
linux下安装easy_install的方法
2013/02/10 Python
python改变日志(logging)存放位置的示例
2014/03/27 Python
Python中的id()函数指的什么
2017/10/17 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
用Python写一个for循环的例子
2016/07/19 面试题
应用化学专业本科生求职信
2013/09/29 职场文书
益达广告词
2014/03/14 职场文书
老干部工作汇报材料
2014/10/28 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
学校教师培训工作总结
2015/10/14 职场文书
opencv检测动态物体的实现
2021/07/21 Python
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server