如何利用Chrome的控制台更改网页里面的Javascript代码并使得修改能够生效?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用Chrome的控制台更改网页里面的Javascript代码并使得修改能够生效?相关的知识,希望对你有一定的参考价值。

chrome可以使用“审查元素”功能实时编辑一个普通的网页的html代码,但是如果编辑的是javascript,则不会生效。请问有什么办法直接修改网页内的Javascript并重新加载(不是刷新网页)使得修改生效?

  js代码在页面渲染的时候已经执行了,就是说从请求一个页面到完整看到一个页面之后,这个页面相关的js代码已经执行完毕,下次执行的时候依然是页面再次刷新加载的时候。
  f12修改代码刷新后还是会变回原来的代码,再次执行的还是原来的代码。
  对于已经执行过的且已知在页面中不会再次执行的的代码,直接在debugger里修改是没有用的,即使保存了,但是只要一刷新页面,JS的代码内容是会重新从cache获取或者重新向服务器请求然后执行的,但是这不代表就是不能修改。
  比如对于那些通过事件触发的代码,当修改并保存以后,是会生效的,前提是第一没有刷新页面,第二可以在不刷新页面的前提下执行这段修改过的代码(比如绑定事件)。
参考技术A 这还真没试过,不过直接在地址栏里可以直接敲入javascript代码来执行。你可以试试。

javascript:alert(document.cookie);

在地址栏输入这种形式的代码,然后回车确认,就会被执行。本回答被提问者采纳
参考技术B 我试了,可以啊,用edit text方法,可以使修改生效,不过这段代码如果是load时就已经用过的代码,你改了以后生效也没啥用了。

chrome调试如何查看变量是哪里定义的

参考技术A 直接在类里面定义全局静态变量,(不是知道是不是你想要的) 如: public class aa public static int bb; public class youeclass aa.bb=... 参考技术B 我也只会2种方式,调试到对应断点的时候,右侧有变量值,和console.log. 参考技术C 在被调速的代码的地方加上 debugger;
在chrome中调出控制台。
运行代码(运行网页),就会听到你debugger的地方了
watch一下你的变量,什么的就可以

以上是关于如何利用Chrome的控制台更改网页里面的Javascript代码并使得修改能够生效?的主要内容,如果未能解决你的问题,请参考以下文章

利用chrome浏览器调试Web网页程序

chrome调试如何查看变量是哪里定义的

如何在win10系统里把鼠标在网页里面按右键移动下就刷新的功能关掉?

如何利用chrome浏览器查看网站的响应速度

如何利用 Chrome 浏览器实现滚动截屏

Chrome:如何使用Chrome的控制台查看Ajax的返回结果呢?求解