F12修改页面的源代码里面的JS代码为什么无法生效

如题所述

对于已经执行过的且已知在页面中不会再次执行的的代码,直接在debugger里修改是没有用的,就像楼上说的,即使你保存了,但是只要一刷新页面,JS的代码内容是会重新从cache获取或者重新向服务器请求然后执行的,但是这不代表你就是不能修改,比如对于那些通过事件触发的代码,当你修改并保存以后,是会生效的,前提是第一你没有刷新页面,第二可以在不刷新页面的前提下执行这段修改过的代码(比如绑定事件)。

比如下面这一段,我随便找了一个登陆页面的js在里面加了一句console.log,保存以后再执行,是可以看到console里输出了修改过的结果
<img src="https://pic4.zhimg.com/397ce2bf64749b2e7dc3c9cd1561500f_b.jpg" data-rawwidth="325" data-rawheight="66" class="content_image" width="325">

当你保存了修改的时候Chrome也会出一个warning
<img src="https://pic3.zhimg.com/caccaeefd03149d7c106effe09d106e2_b.jpg" data-rawwidth="373" data-rawheight="83" class="content_image" width="373">提示你修改过的文件并未被保存到file system,也就是没有修改源代码提示你修改过的文件并未被保存到file system,也就是没有修改源代码
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-08-23
因为function已经被定义赋值过了,你直接修改function的内容没用,因为那是value本身,function没有被再次赋值。
可以把你要变更的function复制出来修改,然后在console里再次赋值就好了,例如在console中输入:
var funcReqData = function(){
// function body

}
funcReqData就是你要变更的function。
第2个回答  2018-06-24
F12又叫做“检查”,只能调试页面的样式,不会改变逻辑代码。
第3个回答  2016-11-30
你需要把所有源码复制一下然后修改里面的粘贴到输入框运行一下。只修改没有运行是不会生效的。本回答被网友采纳

在Chrome上面按F12修改页面的源代码里面的JS代码为什么无法生效
一般直接修改源代码,是无法生效的。如果是函数类代码,需要在console里面,重新输一下,才能生效 对于事件绑定的JS代码,需要重新注册一下,才能生效

在Chrome上面按F12修改页面的源代码里面的JS代码为什么无法生效
通常,调试中修改无效,是因为网页加载完成,其实就是运行已经完成了,修改代码不会再次执行。

在Chrome上面按F12修改页面的源代码里面的JS代码为什么无法生效
样式和html结构可以修改,JS不支持浏览器里更改,因为页面已经加载完毕,而JS必须要在页面加载前生成,如果在浏览器改的话,刷新会重置,所以不生效

在Chrome上面按F12修改页面的源代码里面的JS代码为什么无法生效
这是Chrome的限制,不允许修改页面中的js代码,即使改了,也不会生效。可以将页面中的代码拿到console中执行就可以覆盖页面中的代码了。

在Chrome上面按F12修改页面的源代码里面的JS代码为什么无法生效
发机制不一样。JS是后期需要加入的。浏览器内置了一个JS解析引擎。直接改动dom和CSS浏览器会重新渲染页面。但是你改动JS是木有用的,默认浏览器载入页面源码会阻塞执行JS代码。当然你也可以绑定Click事件神马的,考事件去驱动程序。但是木有修改源码介个事件。因为页面样式可以被CSS和JS修改,改了尺寸就要...

在Chrome上面按F12修改页面的源代码里面的JS代码为什么无法生效
需要按ctrl+s进行保存。 并且重新执行这段代码。 如果该代码在函数里面,重新执行函数就行,如果该代码在全局作用域,或者页面加载执行。 那就没辙了。 因为你刷新的话,代码就会重置。 而且有时候更改关键地方的代码,会使当前页面崩溃。 最好用debug调试,然后在在源文件里面改 ...

在Chrome上面按F12修改页面的源代码里面的JS代码为什么无法生效
因为js加载完成之后都被读到内存里面去了,改动源代码不会重新加载

在Chrome上面按F12修改页面的源代码里面的JS代码为什么无法生效
页面js是在页面加载的时候载入内存执行的,你在浏览器中修改了,不刷新页面是不生效的 一旦刷新了,你改的内容也就没了,所以页面js的修改是不能在浏览器做的,必须修改服务器上的js文件,才能在浏览器中生效

在Chrome上面按F12修改页面的源代码里面的JS代码为什么无法生效
网页只能修改样式代码是可以的,但是JS代码的不行。编程语言都是编译成机器语言才能生效的,已C#都是由高级语言编译成16进制的DLL文件

在Chrome上面按F12修改页面的源代码里面的JS代码为什么无法生效
直接修改JS代码,一般是无法看到效果的,在console控制台里面,输入代码,可以观察效果。

相似回答