如何利用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代码并使得修改能够生效?的主要内容,如果未能解决你的问题,请参考以下文章