本地修改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可以方便本地更改js生效,但是这并不意味着js显得太不安全了,因为这里所有的操作都是以在你本机上操作为基础前提的,也就是说你会为你所有的更改负责,而不是js为你的安全买单!

时间: 2024-10-30 16:16:24

本地修改js代码并时时生效的解决办法的相关文章

Eclipse修改java代码后自动重启Tomcat解决办法

今天甚是郁闷,项目马上要上线了,早上刚到公司打开MyEclipse 10.07提示过期提示,这对于用惯了破解软件的帝国用户的我原本以为小菜一碟. 于是到网上到处找破解软件,不用多长时间,Ok 破解成功.再一打开MyEclipse没什么异常,可到了部署项目时却发现总是出问题. 于是乎继续想办法破解,清理C盘和MyEclipse有关的文件,清注册表,重复重装,到最后也无果,卸载MyEclipse... 到网上下了个Eclipse,终于松了口气,决定再也不用My....可问题又来了,每次稍微修改jav

在集成环境中修改配置文件php.ini不生效的解决办法

配置完成之后一定要重启服务,如果重启服务还是不生效. 就去看一下phpinfo(),找到Loaded Configuration File选项,这个才是真正读取的配置文件 原文地址:https://www.cnblogs.com/yellowgold/p/11301229.html

node js 修改js代码自动发布到服务器

重新修改js代码后,不需要手动重启服务.需要安装supervisor 工具替代手工. 在联网的前提下在cmd中输入npm install supervisor -g 命令行会自动安装supervisor 工具 然后启动服务时就不用node  XXX.js  使用supervisor XXX.js后 修改js后不再需要手动重启node服务,supervisor 会自动发布最新修改的代码.

PyCharm 配置远程python解释器和在本地修改服务器代码

PyCharm 配置远程python解释器和在本地修改服务器代码 最近在学习机器学习的过程中,常常需要将本地写的代码传到GPU服务器中,然后在服务器上运行.之前的做法一直是先在本地写好代码,然后通过FileZilla这样的文件传输工具来将写好的文件传到服务器,再通过ssh工具远程连接到服务器,执行相应的python脚本.这样的方式十分繁琐,效率很低.今天听到朋友提到了配置远程解释器 使用场景 先说说自己的使用场景,我是在什么情况下,需要将IDE配置成这样的环境来方便我的工作. 首先,我需要在本地

Git忽略规则及.gitignore规则不生效的解决办法

Git忽略规则及.gitignore规则不生效的解决办法 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件 的方法(如无,则需自己手工建立此文件).这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 Git 忽略 *.a       # 忽略所有 .a 结尾的文件 !lib.a    # 但 lib.a 除外 /TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO build/   

Git忽略.gitignore规则不生效的解决办法【转】

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件). 这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 Git 忽略 *.a # 忽略所有 .a 结尾的文件 !lib.a # 但 lib.a 除外 /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO build/ # 忽略 build/ 目录下的所有文件 doc/*.txt # 会忽略 doc/not

Git忽略规则和.gitignore规则不生效的解决办法

Git忽略规则: 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件).这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 Git 忽略 *.sample # 忽略所有 .sample 结尾的文件!lib.sample # 但 lib.sample 除外/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODObuild/ # 忽略 build/ 目

几个常用的CSS3样式代码以及不兼容的解决办法

原文:几个常用的CSS3样式代码以及不兼容的解决办法 border-radius实现圆角效果 1 CSS3代码: 2 3 -webkit-border-radius:10px; 4 -moz-border-radius:10px; 5 border-radius:10px; 6 background-color:#666; 7 width:200px;height:100px; Firefox,Chrome Google,Safari等浏览器的显示效果如图0-0: 图0-0 但是IE这个异类不支

本地windows主机无法访问虚拟机里主机解决办法

一:设置虚拟机里IP,使其与本地计算机IP在同一网段 本地计算机网络IP设置如下: 虚拟机里ip为192.168.1.9 设置IP步骤请参考:Linux里如何设置IP(RED HAT) 二:将虚拟机网络连接方式设为桥接 假如,VirtualBox不能选择桥接方式,‘确定’按钮就是灰色的,即无法设置桥接方式. --解决办法 请参考VirtualBox虚拟机无法选择桥接方式 全部设置完之后,windows下的主机就能ping通虚拟机里IP了. 本地windows主机无法访问虚拟机里主机解决办法