我在我的javascript文件(jaydata.js)中添加了一个断点,然后按“进入下一个函数调用”。当到达一行时:},弹出另一个名为“ [VM](8312)”的文件。我一直单击“转到下一个函数调用”,现在的屏幕是:这些标题为[[VM](XXXX“)的奇怪而神秘的脚本是什么,它们来自何处?
3 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
如果要在chrome中调试以编程方式注入的JS文件,可以使用该debugger;语句,这比查找脚本的位置要快,而且比使用sourceurl生成文件要快。
它像断点一样工作,无论您在何处使用该debugger;语句,都可以自动在chrome源选项卡中精确定位您的代码。
缥缈止盈
TA贡献2041条经验 获得超4个赞
[VM] (scriptId)没有特别的意义。这是一个虚拟名称,可帮助我们区分与文件名不直接相关的代码,例如使用eval和朋友创建的代码。
过去,所有这些脚本都被标记为(program)。
如果您有兴趣,只需查看"[VM]"Chromium的源代码,您会发现这些数字在开发人员工具之外没有重要意义。
[VM] (scriptId)已重命名为VMscriptId 前一阵子,这是到搜索结果的直接链接,以防该值再次更改。
噜噜哒
TA贡献1784条经验 获得超7个赞
每当您通过AJAX加载HTML内容且该内容包含<script>
标签时,该脚本都会使用eval()进行评估,并被Chrome的Sources视图识别为以“ VM”开头的新文件。您始终可以转到“网络”标签,找到AJAX请求,然后查看包括脚本在内的整个HTML响应。
添加回答
举报
0/150
提交
取消