Chrome调试无法重新加载页面源

hjqgdpho  于 2023-09-28  发布在  Go
关注(0)|答案(2)|浏览(160)

这个问题已经存在很长时间了,我从来没有找到解决方案,虽然这里的其他问题也是类似的,但它们并不完全是我所看到的。
问题是用于单步执行代码的SOURCE不会在每次加载页面时刷新。是的,我已经禁用该高速缓存-但问题不是浏览器缓存,而是调试器源缓存。
在我的网络应用程序(Struts2和Tomcat)中,我有一个带有标题栏的主页和左侧菜单。中心内容是一个iframe,它加载所有适当的JSP。我使用一个'行动'为我的大部分导航与不同的结果显示不同的页面。问题是Chrome调试器SOURCES窗格中的NAME在我导航时不会更改。实际页面发生了变化,但由于名称没有改变,Chrome不会将新的源代码带入调试器窗口。所以如果我有调试器'在第200行被加载的页面,它停止,并显示'源' -但它的旧源在第200行,而不是实际的源正在运行!如果我在SOURCES窗格中右键单击旧源文件,然后“在网络面板中显示”,则此处显示的是真实的的源文件,因为它确实是从我的服务器加载的,但调试源文件不会更改。

**问题:**如何在Chrome中绕过此错误,并在调试器显示中强制重新加载源代码?

    • 大卫Fahlander的回答似乎符合我所说的。实际JavaScript源正在刷新,并在RESOURCES和NETWORK窗格中正确显示。但是在实际调试完成的Source窗格中,新的源代码不会刷新。而且它很难调试你看不到的代码!
siotufzp

siotufzp1#

为了在加载过程完成后追加JavaScript代码,这种技术在Chrome扩展中使用,并且易于调试。

let script = document.createElement('script');
script.innerHTML = 'your javascript code ';

document.head.appendChild(script);
hrirmatl

hrirmatl2#

也许可以尝试老式的方法,添加一个URL查询参数,比如说当前时间,以毫秒为单位?您的应用程序将忽略的内容,但Chrome会将其视为新页面?例如https://example.com?time=1594125425508

相关问题