我在我的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
提交
取消