本地修改js代码并时时生效的解决办法
js作为客户端语言(当然它也可以作服务端语言),非常强悍,一般情况下,我们都是在开发阶段不停的改,然后上线之后就作为稳定运行的代码。
然而有时候可能因为js写得有问题,导致上线后,某些功能无法使用,这就悲催了,而且一般的公司上线应该都不会很容易。
那么对于这种js一类的修改,如果能在本地临时生效,做一些紧急问题的修复,就很重要了。(我也是遇到这个坑,只要把这次临时问题修复,等下一个功能代码要上线时,再修复也是可以的)
那么,怎样做到本地修改js文件,从而达到代码运行ok的效果呢? 本文将会给出多种解决方案:
一、 使用fiddler拦截请求更改参数!!!
如果是因为某些必要参数传递不对,从而导致服务端无法正常运行,那么我们可以直接拦截请求,修改参数,再次发送到服务端,从而规避该问题。
这种情况一般发生在使用ajax访问服务端程序时出现,比如某个值因为某种原因,导致js发送ajax请求时,少了某个必要参数,从而导致服务端报参数错误。
具体解决办法就是:下载并安装http调试神器fiddler, 设置对该站点的拦截请求如: bpu http://a.com, 在拦截到后,添加该必要参数,点击继续请求,从而达到通过服务端验证的需求,如果要求多次操作,那么还可以设置自动修改拦截请求参数的设置,具体方法请自行研究fiddler自动拦截请求方法。
当然了,这种请求主要针对http协议,对于https还是显得有些为难的,这也是为什么https会如此受追棒的原因吧。
二、 通过使用浏览器插件Tampermonkey,动态修改js代码!!!
如果需要修改处理逻辑较多,那么,可以借助Tampermonkey插件,直接覆盖某js文件,从而达到请求更改的处理。页面部分处理如下:
主要填写需要替换的js文件的路径,然后写需要覆盖的js逻辑,保存,刷新即可生效。
三、 直接通过控制台运行代码,覆盖原有代码生效!!!
我平时主要使用控制台来计算一些自己试验性质的代码,但是后来我发现,这个功能完全可以覆盖到真正生产中的代码里去。
比如有一个按钮的监听事件(假设使用jquery写的)$('#id').on('click', function() { alert(111); });
那么,如果,如果我想改怎么办? 解决为,直接在控制台重新注册该事件即可,即运行:$('#id').off().on(function() { alert('my alert'); }); 这样,当点击该按钮时,就会生效为后面代码的功能了。
注意这里有一事件冒泡的问题,一定要先解绑事件,再注册事件,否则会有多个事件响应。
那么,对于函数一类呢,则是直接以相同的函数名称重写方法即可,而根据js的运行原理,即会运行你后面写的方法。
好了,本地修改js并生效的方法,大概就说到这里,个人感觉也够用了。
js作为客户端语言确实很方便,尤其是明白了发一次上线代码不容易之后。有时真能解燃眉之急!!!
本地修改js代码并时时生效的解决办法的更多相关文章
- Eclipse修改java代码后自动重启Tomcat解决办法
今天甚是郁闷,项目马上要上线了,早上刚到公司打开MyEclipse 10.07提示过期提示,这对于用惯了破解软件的帝国用户的我原本以为小菜一碟. 于是到网上到处找破解软件,不用多长时间,Ok 破解成功 ...
- 在集成环境中修改配置文件php.ini不生效的解决办法
配置完成之后一定要重启服务,如果重启服务还是不生效. 就去看一下phpinfo(),找到Loaded Configuration File选项,这个才是真正读取的配置文件
- 如何用chrome修改js代码,跳过网站等待时间
用chrome修改js代码 By Z.H. Fu 切问录 [maplewizard.github.io](http://maplewizard.github.io ) 网页中大部分的限制都是由js编写 ...
- PyCharm 配置远程python解释器和在本地修改服务器代码
PyCharm 配置远程python解释器和在本地修改服务器代码 最近在学习机器学习的过程中,常常需要将本地写的代码传到GPU服务器中,然后在服务器上运行.之前的做法一直是先在本地写好代码,然后通过F ...
- git忽略文件夹提交以及gitignore修改后不生效的解决办法
1.在 .gitgnore 文件加入需要忽略的问价夹正则表达式: 在配置完以后提交代码,你可能会发现git忽略配置不生效! 解决办法,将缓存的文件重新添加一下即可 2.打开命令行,将下面三个命令复制粘 ...
- Git忽略规则及.gitignore规则不生效的解决办法
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件).这个文件每一行保存了一个匹配的规则例如: # 此为注 ...
- .gitignore规则不生效的解决办法
.gitignore规则不生效的解决办法 使用git 的时候,在.gitignore中已经添加了某个文件或者文件夹,但是使用git status还能看见该文件的修改提示--–说明.gitignore未 ...
- Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...
- Git忽略规则和.gitignore规则不生效的解决办法
Git忽略规则和.gitignore规则不生效的解决办法 Git忽略规则: 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果 ...
随机推荐
- Android 新一代多渠道打包神器
欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:李涛 ApkChannelPackage是一种快速多渠道打包工具,同时支持基于V1签名和V2签名进行多渠 ...
- 苹果笔记本只能上QQ,微信,任何浏览器不能打开网页的问题。
我的笔记本一共遇到过两次这种情况.第一次是浏览器输入域名打不开网页,而输入ip地址可以打开.这就是DNS服务器的问题,解决方法很简单.在系统偏好设置里面找到网络,然后,点击正在连接的网络的高级选项,选 ...
- 请为main函数提供返回值
很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的.C/C++ 中从来没有定义过void main( ).C++ 之父 Bjarne Stroustrup 在他的主页上的 ...
- 《Thinking in Java》 And 《Effective Java》啃起来
前言 今天从京东入手了两本书,<Thinking in Java>(第四版) 和 <Effective Java>(第二版).都可以称得上是硬书,需要慢慢啃的,预定计划是在今年 ...
- python爬虫第一天
python爬虫第一天 太久没折腾爬虫 又要重头开始了....感谢虫师大牛的文章. 接下来的是我的随笔 0x01 获取整个页面 我要爬的是百度贴吧的图,当然也是跟着虫师大牛的思路. 代码如下: #co ...
- 关于for循环的几种经典案例
由于for循环可以通过控制循环变量的初始值和循环结束条件来改变遍历的区间,所以在排序或者遍历的时候,利用for循环就比较简单,以下是本人学习后得到的一些总结案例. 1.排序的应用 1)交换排序:通过取 ...
- .Net程序员学用Oracle系列(25):触发器详解
1.触发器理论 1.1.触发器的应用场景 1.2.触发器的类型 1.3.DML 触发器的触发顺序 2.触发器实战 2.1.创建触发器 2.1.1.创建 DML 触发器 2.1.2.创建 DDL 触发器 ...
- linux -- 个人笔记
##转自别人的博客 一般直接用tar命令打包很简单,直接使用 tar -zcvf test.tar.gz test 即可. 在很多时候,我们要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们 ...
- 高斯消元法(Gauss Elimination)【超详解&模板】
高斯消元法,是线性代数中的一个算法,可用来求解线性方程组,并可以求出矩阵的秩,以及求出可逆方阵的逆矩阵.高斯消元法的原理是:若用初等行变换将增广矩阵 化为 ,则AX = B与CX = D是同解方程组. ...
- Java UDP Socket
本文转载地址: Java学习路上的收获:http://blog.csdn.net/qinpeng100423/article/details/8980423 一. UDP协议定义 U ...