我在javascript文件(jaydata.js)中添加了一个断点,并按下了"Step over to the next function call“。当它到达一行时,它是:
},
弹出了另一个标题为"VM“的文件。我一直点击“跳到下一个函数调用”,现在我的屏幕是:
这些名为"VM(XXXX )“的奇怪而神秘的脚本是什么?它们是从哪里来的?
发布于 2013-06-29 04:52:05
[VM] (scriptId)
没有特殊的含义。它是一个虚拟名称,用来帮助我们区分与文件名没有直接关联的代码,比如使用eval
和friends创建的代码。
在过去,所有这些脚本都被贴上了(program)
的标签。
如果您感兴趣,只要使用look up "[VM]"
in the source code of Chromium,您就会发现这些数字在开发人员工具之外没有任何重要意义。
更新2015-06-25
[VM] (scriptId)
已重命名为VMscriptId
a while ago,下面是direct link to search result,以防值再次更改。
发布于 2013-09-05 02:45:01
当使用eval时,javascript被抛到Chrome调试器VM中。为了查看在Chrome Debugger源码下使用eval创建的js,在js的末尾(感谢Splaktar)设置此属性:
//@ sourceURL=dynamicScript.js
发布于 2014-05-05 22:43:30
每当你通过AJAX加载HTML内容,并且内容包含<script>
标签时,脚本将使用eval()进行计算,并被Chrome的Sources视图识别为以'VM‘开头的新文件。您可以随时转到Network选项卡,找到AJAX请求,并查看整个HTML响应,包括您的脚本。
https://stackoverflow.com/questions/17367560
复制相似问题