firefox - 如何在 Firefox 调试器中调试嵌入在 HTML 响应中的 JavaScript
问题描述
我无法弄清楚如何调试放置在<script>
与 HTML 响应有效负载一起加载的元素中的 JavaScript。我可以查看有效载荷:
是否可以添加断点并单步执行该 JavaScript 代码?
解决方案
要在调试器中查看 JavaScript 并能够对其进行调试,您需要//# sourceURL
在脚本末尾添加注释为其命名,请参阅https://stackoverflow.com/a/14131320/432681和描述https://developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/Debug_eval_sources。
在您的情况下,这看起来像这样:
...
if ($('option_panel_type_file')) {
$('option_panel_type_file').remove();
}
//# sourceURL=option-panel
</script>
...
这使得调试器以“选项面板”的名称显示您的脚本。
话虽如此,请注意,出于安全原因,当您动态添加 HTML 时,不会执行嵌入在 HTML 中的 JavaScript 代码,例如通过innerHTML
,请参阅https://developer.mozilla.org/en-US/docs/Web/API/Element /innerHTML#security_considerations了解更多信息。
因此,为了执行代码,您需要将它与 HTML 分开加载并嵌入它,例如通过添加一个<script>
元素。
尽管您显然在使用 jQuery,但请注意,它的功能绕过了其文档html()
中有关此限制的警告。
推荐阅读
- python - 删除 Qlabel 中不必要的空格
- cakephp - CakePHP 3 - 在 table 对象中默认使用 select() 中的 SQL 函数
- javascript - Angular如何使用点击功能根据国家名称提取和显示特定的JSON数据
- python - 在 django 中编辑个人资料
- arrays - 如何获取 id 列表以使用 Angular 中的逗号字符串对象
- azure-devops - VSTS 仪表板中的周期和提前期小部件
- css - 如何调整离子旋转器的大小
- flutter - 即使流正在返回对象,Flutter StreamProvider也会返回空对象
- python - django随着时间的推移开发数据
- webpack - Webpack 4 - 文件加载器 - 不使用 @font-face 渲染字体(但构建并且一切正常)