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事件学习第一章 Event介绍
Feb 07 Javascript
jQuery getJSON 处理json数据的代码
Jul 26 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
Jan 11 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
Aug 27 Javascript
jQuery中document与window以及load与ready 区别详解
Dec 29 Javascript
javascript基本包装类型介绍
Apr 10 Javascript
js字符串操作方法实例分析
May 06 Javascript
JS中多步骤多分步的StepJump组件实例详解
Apr 01 Javascript
AngularJS常见过滤器用法实例总结
Jul 06 Javascript
解决koa2 ctx.render is not a function报错问题
Aug 07 Javascript
解决vue的 v-for 循环中图片加载路径问题
Sep 03 Javascript
通过滑动翻页效果实现和移动端click事件问题
Jan 26 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
CentOS 6.3下安装PHP xcache扩展模块笔记
2014/09/10 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
关于include标签导致js路径找不到的问题分析及解决
2013/07/09 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
JavaScript异步上传图片文件的实例代码
2017/07/04 Javascript
JavaScript内置对象math,global功能与用法实例分析
2019/06/10 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
2021/02/08 Javascript
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python对列表排序的方法实例分析
2015/05/16 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
Python中enumerate函数代码解析
2017/10/31 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
信用社实习人员自我鉴定
2013/09/20 职场文书
英文简历中的自我评价
2013/10/06 职场文书
开学典礼决心书
2014/03/11 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
公司备用金管理制度
2015/08/04 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
《金肉人》米特&《航海王》阿鹤声优松岛实因胰脏癌去世 享寿81岁
2022/04/13 日漫