如何在浏览器的调试器本身中调试动态加载的 JavaScript(使用 jQuery)?

2024-03-24

动态添加的脚本不会显示在浏览器调试器的脚本部分中。

解释:

我需要使用并且已经使用过

if( someCondition == true ){
   $.getScript("myScirpt.js", function() {
       alert('Load Complete');
       myFunction();
   });
}

这样 myScript.js 可以在满足某些条件时动态加载... 只有在加载整个脚本后才能调用 myFunction...

但浏览器不会在调试器的脚本部分显示动态加载的 myScript.js。

是否有另一种方法可以实现所有目标,从而使人们能够在浏览器本身中调试动态加载的脚本?


您可以为动态加载的脚本指定一个名称,以便它显示在 Chrome/Firefox JavaScript 调试器中。为此,您可以在脚本末尾添加注释:

//# sourceURL=filename.js

然后,该文件将在“源”选项卡中显示为filename.js。根据我的经验,您可以在名称中使用 's,但如果使用 /'s,我会得到奇怪的行为。

因为如果没有指定域filename.js将出现在名为“(无域)”的文件夹中,可以方便地指定域以提高调试体验,例如查看可以使用的“自定义”文件夹:

//# sourceURL=browsertools://custom/filename.js

一个完整的例子如下:

window.helloWorld = function helloWorld()
{
  console.log('Hello World!');
}
//# sourceURL=browsertools://custom/helloWorld.js

欲了解更多信息,请参阅:动态 JavaScript 中的断点 https://developers.google.com/chrome-developer-tools/docs/javascript-debugging#breakpoints-dynamic-javascript 弃用 //@sourceurl https://developers.google.com/web/updates/2013/06/sourceMappingURL-and-sourceURL-syntax-changed

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在浏览器的调试器本身中调试动态加载的 JavaScript(使用 jQuery)? 的相关文章

  • 如何在通过 .ajaxForm() 提交表单之前执行一些操作?

    我正在使用 ajaxForm 框架来发送我的数据 而无需重新加载我的页面 ReplayForm ajaxForm success function data alert Success 现在 我想在提交表单之前检查一些条件 如果条件为假 则
  • Angular 4 过滤器搜索自定义管道

    所以我试图构建一个自定义管道来在 ngFor 循环中执行多个值的搜索过滤器 我花了几个小时寻找一个好的工作示例 其中大多数都是基于以前的版本 并且似乎不起作用 所以我正在构建管道并使用控制台为我提供值 但是 我似乎无法显示输入文本 以下是我
  • UNIX系统调用监视器

    如何监控进程的系统调用 Check strace http linux die net man 1 strace 在最简单的情况下 strace 运行指定的命令直到退出 它拦截并记录进程调用的系统调用以及进程接收的信号 每个系统调用的名称
  • 类型错误:类扩展值未定义不是函数或 null

    尝试创建这些实体时出现以下错误 TypeError Class extends value undefined is not a function or null 我假设这与循环依赖有关 但是在使用表继承和一对多关系时应该如何避免这种情况
  • JQuery datepickers-从开始日期设置结束日期

    使用了两个 Jquery 日期选择器 StartDate 和 EndDate
  • Mapbox GL 中的 MaxBounds 和自定义非对称填充

    我有一个 Mapbox GL JS 应用程序 在地图上显示一些小部件 为了确保地图上的任何内容都不会被它们隐藏 我使用以下命令添加了一些填充map setPadding 这是一个不对称的 在我的例子中左边比右边大 它按预期工作 例如fitB
  • 如何在不阻止触摸启动的情况下防止“过度滚动历史导航”?

    我正在实现基于滑动的导航 但我在使用 Chrome 时遇到了麻烦 当页面向右拖动时 会触发新实现的功能 过度滚动历史导航 从而导致跳回 到 历史 1 为了防止这种情况 我必须打电话 preventDefault on touchstart
  • 如何使 d3 饼图响应式?

    我有一个 PIE 图表 它工作正常 但我无法使其具有响应能力和可调整大小 我需要它与移动浏览器和 iPad 等兼容 div div
  • 请参阅 Java EE eclipse 调试中的 POST 参数

    我在调试 Java EE 方面没有经验 我更像是一个 javascript 人 我需要查看哪些 HTTP POST 参数到达服务器端 我在表单将其操作指向的 jsp 文件中放置了一个断点 现在我在调试变量窗口中找不到 POST 内容 他们在
  • 当变量取特定值时如何使 PyCharm 中断?

    我有一本大字典 其中一些元素偶尔会出现非法值 我想弄清楚非法值从何而来 PyCharm 应该不断监视我的字典的值 一旦它们中的任何一个取了非法值 它就应该中断并让我检查程序的状态 我知道我可以通过为我的字典创建一个 getter sette
  • karma/jasmine 控制台更详细的测试结果

    我使用 Karma 和 Jasmine 进行 javascript 单元测试 假设我有一个失败的测试 如下所示 expect objectA toEqual expectedObjectA 当失败时 我看到控制台上转储了两个对象 并显示一条
  • 检索 css3 缩放元素的宽度/高度

    我正在与 offsetWidth 属性的奇怪之处 我认为 作斗争 这是场景 比方说 我有一个span标签 在我的js中 在某个时刻我执行css3转换 对于这个元素 例如 el set styles transform scale scale
  • ES6继承:使用`super`访问父类的属性

    JavaScript 的super关键字 当我在 Chrome Babel TypeScript 上运行代码时 得到了不同的结果 我的问题是哪个结果是正确的 规范的哪一部分定义了这种行为 下面的代码 class Point getX con
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • 如何为我的整个 Node.js 应用程序使用相同的 MySQL 连接?

    我有一个app js 我从那里运行我的整个应用程序 在 app js 内部 我require许多文件中都有代码 对于每个文件 我都这样做 var mysql require mysql var mclient mysql createCon
  • 如何在 webpack 中渲染嵌套的 SASS?

    采取以下CSS MyComponent color blue Button color red 以及以下 React 组件 import React from react import classes from MyComponent sc
  • Javascript 浮点乘以 100 仍然有错误

    我有一个货币字段的文本输入 我在字段中输入 33 91 并在尝试使用 乘以 100 技术时得到以下结果 var curWth parseInt trans withdraw index val 100 3390 var curWth par
  • Service Worker 与 Shared Worker

    Service Worker 和 Shared Worker 有什么区别 我什么时候应该使用 Service Worker 而不是 Shared Worker 反之亦然 Service Worker 具有共享 Worker 之外的附加功能
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解
  • 将多维数组转换为单数组(Javascript)

    我有一个对象数组 来自 XLSX js 解析器 因此其长度和内容各不相同 表示已给予项目的资助 简化后 它看起来像这样 var grants id p 1 location loc 1 type A funds 5000 id p 2 lo

随机推荐

  • 使用 xsi:nil="true" C# 序列化删除 xml 元素

    我有一个 XML 其中包含一些值 有时可能存在空值 如下所示 我根本不希望在 XML 中列出带有 null 的节点 元素已设置IsNullable true在课堂里 任何建议 因为我在谷歌中尝试了很多东西 没有任何帮助
  • 更改 pandas 中的默认选项

    我想知道是否有任何方法可以更改 pandas 的默认显示选项 我想在每次运行 python 时更改显示格式和显示宽度 例如 pandas options display width 150 我看到默认值是硬编码的pandas core co
  • 部署.NET Web应用程序时如何获取预编译的razor文件?

    我的任务是改进服务器上应用程序的 IIS 预加载和初始化 我已经在IIS上实现了应用程序初始化和应用程序预加载 但回收 重新启动应用程序池时仍然有很长的等待时间 我找到了一些有用的链接 我认为这些链接对我有帮助 但我仍然没有获得预编译的 R
  • 通过引用切片为不可变字符串,而不是复制

    如果你使用string split http docs python org library stdtypes html str split对于 Python 字符串 它返回字符串列表 这些已拆分的子字符串是其父字符串部分的副本 是否有可能
  • Spring Boot 中的代理设置

    我的应用程序需要从 Web 获取 XML 文件 如下所示 Bean public HTTPMetadataProvider metadataProvider throws MetadataProviderException String m
  • 未排序数组中的前 5 个元素

    给定一个未排序的数组 我们需要以有效的方式找到前 5 个元素 但我们无法对列表进行排序 我的解决方案 找到数组中的最大元素 在 处理 使用此最大元素后删除它 重复步骤 1 和 2 k 次 本例中为 5 次 时间复杂度 O kn O n 空间
  • WooCommerce - 发送有关自定义订单状态更改的自定义电子邮件

    我添加了自定义状态wc order confirmed Register new status function register order confirmed order status register post status wc o
  • OS X Lion 中的 easy_install pip 需要 sudo 吗?

    我从工作中的 Snow Leopard 转到家里的 Lion 安装 我不记得必须 sudo easy install pip 狮子需要这个吗 在我这样做之前我遇到了错误 pip 最终出现在这里 some computer which pip
  • 大规模分布式系统中的日志文件

    我在网格和 HPC 领域做了很多工作 对于分布在数百 或在某些情况下数千 服务器上的系统 我们面临的最大挑战之一是分析日志文件 当前日志文件本地写入每个刀片上的磁盘 但我们也可以考虑使用 UDP Appender 等发布日志信息并集中收集
  • PyDSTool 与 anaconda 未正确安装

    我正在尝试使用 anaconda2 安装 PyDSTool conda install PyDSTool 这似乎进展顺利 但是当我打开spyder并导入PyDSTool时 它给了我错误 import PyDSTool Traceback m
  • “scrollViewDidScroll”无法连续捕获移动

    我正在编写程序来在滚动 UITableView 时移动名为 myView 的 UIView 请看下面的图片 myView 会随着tableview的contentoffset的变化而改变它的 y坐标 我编写的主要代码是 func scrol
  • 使用 Knockout-Kendo.js 动态启用/禁用 kendo 日期选择器

    我正在尝试使用 Knockout Kendo js 根据选择的选定值启用 禁用 kendo 日期选择器 HTML
  • 将我的 HTML Google MAP API 版本 2 迁移到版本 3

    我将非常感谢对此的帮助 我的 html v2 文件和一些临时密钥工作正常 我从一些 XML 中获取位置 创建不同的颜色标记 并从信息窗口中的 XML 属性添加一些 URL 不是太复杂 现在我需要将其迁移到 v3 我找到了 v2 中函数的一些
  • 找不到 id= 的用户 (ActiveRecord::RecordNotFound)

    使用我的 Rails 应用程序 我可以成功创建一个对象 称为工作 将它们视为博客文章 作为 current user 一个用户 has many 可以工作 我可以通过使用 postgresql 浏览器检查数据库来验证该对象是否已成功创建 该
  • TMUX 会话不会导入 Python 模块

    大家好 这是我在 StackOverflow 上提出的第一个问题 希望大家都满意 我最近开始使用 TMUX 但在将其用于机器学习问题集时遇到问题 我正在使用 python 创建一个程序 并使用 sklearn 模块 基本上 当我在 TMUX
  • 库伯内特斯。 kubernetes 节点之间支持的最大距离/延迟是多少?

    我想创建一个 kubernetes 集群 我想要一个具有高可用性的主节点 工作节点和代理节点的集群 并且节点位于两个位置 是否记录了位置之间支持的最大距离或延迟 此外 我希望能提供官方文档的链接 但我找不到任何相关内容 谢谢 kuberne
  • 使用 GET_FILE_NAME Oracle Forms 无法打开对话框

    我有 Oracle 数据库 11g 带有 Oracle 表单和报告 11g 我创建了浏览按钮来从计算机或笔记本电脑目录中打开 CSV 文件 我在按下按钮时触发时使用此代码 declare filename varchar2 500 begi
  • R 中的 Uniroot 解决方案

    我想找到以下函数的根 x 0 5 f lt function y 1 pbeta 1 exp 0 002926543 107 2592 y 1 082618 exp 0 04097536 107 2592 y shape1 0 264022
  • 将多个文件拖放到用户窗体

    我正在尝试将多个文件拖放到用户窗体上以获取它们的路径 我用一个文件来管理它 感谢this https stackoverflow com questions 20569959 vba drag and drop file to user f
  • 如何在浏览器的调试器本身中调试动态加载的 JavaScript(使用 jQuery)?

    动态添加的脚本不会显示在浏览器调试器的脚本部分中 解释 我需要使用并且已经使用过 if someCondition true getScript myScirpt js function alert Load Complete myFunc