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 相关文章推荐
抽出www.templatemonster.com的鼠标悬停加载大图模板的代码
Jul 11 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
Nov 14 Javascript
jQuery load方法用法集锦
Dec 06 Javascript
JQuery获取浏览器窗口内容部分高度的代码
Feb 24 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
Aug 27 Javascript
基于jQuery插件实现点击小图显示大图效果
May 11 Javascript
layer弹出层中H5播放器全屏出错的解决方法
Feb 21 Javascript
ES6新特性五:Set与Map的数据结构实例分析
Apr 21 Javascript
JavaScript中常见的八个陷阱总结
Jun 28 Javascript
vue中组件的3种使用方式详解
Mar 23 Javascript
Vue实现base64编码图片间的切换功能
Dec 04 Javascript
如何基于filter实现网站整体变灰功能
Apr 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安全配置方法
2007/06/16 PHP
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
javascript模块化简单解析
2016/04/07 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
Python常用小技巧总结
2015/06/01 Python
分享Python字符串关键点
2015/12/13 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
Python之字典对象的几种创建方法
2020/09/30 Python
戴尔美国官网:Dell
2016/08/31 全球购物
趣味运动会活动方案
2014/02/12 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
建筑节能汇报材料
2014/08/22 职场文书
教师自我剖析材料
2014/09/29 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
工程款催款函
2015/06/24 职场文书
2016年大学生社会实践心得体会
2015/10/09 职场文书
go语言map与string的相互转换的实现
2021/04/07 Golang
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
MySQL数据库简介与基本操作
2022/05/30 MySQL