描述
在Chrome中搜索不到相关的js文件,和事件内容,但是功能都是好使的, 这就神奇了,
然后发现在资源里,没有功能相关连的js,只有一个jsp ,那么功能是怎么加载的,为啥还好使,然后我在对应的js文件中添加了debugger一个断点,然后在Chrome中进行调试发现,显示vmxxx
这个是啥鬼,哪里来的这个文件
然后我去网上查询相关资料发现 ,[VM] (scriptId)没有特殊含义。这是一个虚拟名称 ,每当您通过AJAX加载HTML内容并且该内容包含标记时,该脚本都将使用eval()进行评估,并被Chrome的Sources视图识别为以" VM"开头的新文件。您始终可以转到"网络"标签,找到AJAX请求,然后查看包括脚本在内的整个HTML响应。
果然是通过ajax加载出来的页面,因为游览器的资源管理器只会在页面第一次加载的时候,会记录当前页面加载时候所使用的所有文件,后续在加载的文件的就不会了,这样也就导致异步加载,我么没法通过Chrome提供的search直接能搜索到, 因为Chrome提供的search只能搜索资源文件里的内容, 如何判断是否是ajax的请求呢?
绝大部分场景下都能使用上图的方式判断是否是ajax请求 注意: 在跨越请求下,默认不会设置X-Requested-With头。