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 相关文章推荐
一个可以兼容IE FF的加为首页与加入收藏实现代码
Nov 02 Javascript
基于jQuery的仿flash的广告轮播代码
Nov 04 Javascript
jQuery获取iframe的document对象的方法
Oct 10 Javascript
javascript学习笔记之函数定义
Jun 25 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
Nov 17 Javascript
node.js平台下的mysql数据库配置及连接
Mar 31 Javascript
React Native仿美团下拉菜单的实例代码
Aug 08 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
Nov 15 Javascript
微信小程序页面缩放式侧滑效果的实现代码
Nov 15 Javascript
微信小程序实现的一键拨号功能示例
Apr 24 Javascript
vue增加强缓存和版本号的实现方法
May 01 Javascript
如何利用node转发请求详解
Sep 17 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 多行多列显示
2009/08/15 PHP
PHP合并数组+与array_merge的区别分析
2010/08/01 PHP
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
PHP微信支付开发实例
2016/06/22 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
jquery编写日期选择器
2017/03/16 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
浅谈Vue数据绑定的原理
2018/01/08 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
Windows下PyMongo下载及安装教程
2015/04/27 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
Python编程中的for循环语句学习教程
2015/10/14 Python
全面理解Python中self的用法
2016/06/04 Python
python更改已存在excel文件的方法
2018/05/03 Python
windows下python安装pip图文教程
2018/05/25 Python
详解python和matlab的优势与区别
2019/06/28 Python
如何用Python 加密文件
2020/09/10 Python
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
毕业生找工作的求职信范文
2013/12/24 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
营销计划书范文
2015/01/17 职场文书
Redis集群新增、删除节点以及动态增加内存的方法
2021/09/04 Redis