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 相关文章推荐
$.getJSON在IE下失效的原因分析及解决方法
Jun 16 Javascript
intro.js 页面引导简单用法 分享
Aug 06 Javascript
js 使FORM表单的所有元素不可编辑的示例代码
Oct 17 Javascript
Jquery弹出层插件ThickBox的使用方法
Dec 09 Javascript
node.js中的buffer.copy方法使用说明
Dec 14 Javascript
jQuery.holdReady()方法用法实例
Dec 27 Javascript
在JavaScript的正则表达式中使用exec()方法
Jun 16 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
Dec 08 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
Sep 12 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
Aug 27 Javascript
利用js-cookie实现前端设置缓存数据定时失效
Jun 18 Javascript
Vue-cli打包后如何本地查看的操作
Sep 02 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
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
php接口隔离原则实例分析
2019/11/11 PHP
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
ES6知识点整理之模块化的应用详解
2019/04/15 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
如何卸载python插件
2020/07/08 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
美体小铺奥地利官方网站:The Body Shop奥地利
2019/04/11 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
预备党员入党思想汇报
2014/01/04 职场文书
迟到检讨书900字
2014/01/14 职场文书
暑期教师培训方案
2014/06/07 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
护理医院见习报告
2014/11/03 职场文书
2015年教务主任工作总结
2015/07/22 职场文书
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android