为了账号安全,请及时绑定邮箱和手机立即绑定

Chrome开发工具:来自javascript的[VM]文件

Chrome开发工具:来自javascript的[VM]文件

阿波罗的战车 2019-10-06 14:56:17
我在我的javascript文件(jaydata.js)中添加了一个断点,然后按“进入下一个函数调用”。当到达一行时:},弹出另一个名为“ [VM](8312)”的文件。我一直单击“转到下一个函数调用”,现在的屏幕是:这些标题为[[VM](XXXX“)的奇怪而神秘的脚本是什么,它们来自何处?
查看完整描述

3 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

如果要在chrome中调试以编程方式注入的JS文件,可以使用该debugger;语句,这比查找脚本的位置要快,而且比使用sourceurl生成文件要快。


它像断点一样工作,无论您在何处使用该debugger;语句,都可以自动在chrome源选项卡中精确定位您的代码。

//img1.sycdn.imooc.com//5d99905900018a9004150183.jpg

查看完整回答
1 反对 回复 2019-10-06
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

[VM] (scriptId)没有特别的意义。这是一个虚拟名称,可帮助我们区分与文件名不直接相关的代码,例如使用eval和朋友创建的代码。


过去,所有这些脚本都被标记为(program)。


如果您有兴趣,只需查看"[VM]"Chromium的源代码,您会发现这些数字在开发人员工具之外没有重要意义。


[VM] (scriptId)已重命名为VMscriptId 前一阵子,这是到搜索结果的直接链接,以防该值再次更改。


查看完整回答
反对 回复 2019-10-06
?
噜噜哒

TA贡献1784条经验 获得超7个赞

每当您通过AJAX加载HTML内容且该内容包含<script>标签时,该脚本都会使用eval()进行评估,并被Chrome的Sources视图识别为以“ VM”开头的新文件。您始终可以转到“网络”标签,找到AJAX请求,然后查看包括脚本在内的整个HTML响应。


查看完整回答
反对 回复 2019-10-06
  • 3 回答
  • 0 关注
  • 1816 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信