簡體   English   中英

Chrome調試器中的這個十六進制值是多少?

[英]What is this hex value for in the Chrome debugger?

我很好奇為什么在這個Chrome調試器輸出中出現與每個源相關聯的十六進制數字...

WebSocket is already in CLOSING or CLOSED state.
(anonymous) @ websocket.js?13d9:192
exports.encodePacket @ browser.js?9636:123
(anonymous) @ websocket.js?13d9:170
WS.write @ websocket.js?13d9:202
Transport.send @ transport.js?87a5:110
Socket.flush @ socket.js?1006:565
Socket.sendPacket @ socket.js?1006:625
Socket.ping @ socket.js?1006:529
(anonymous) @ socket.js?1006:516
setTimeout (async)
Socket.setPing @ socket.js?1006:514
Socket.onPacket @ socket.js?1006:445
(anonymous) @ socket.js?1006:273
Emitter.emit @ index.js?ea2f:133
Transport.onPacket @ transport.js?87a5:145
Transport.onData @ transport.js?87a5:137
ws.onmessage @ websocket.js?13d9:147

例如,source websocket.js13d9相關13d9

這個十六進制值來自何處以及它用於什么?

我不關心這種情況下的實際錯誤,我只是用它作為一個例子。

這是文件URL的一部分。

無法確定在這種情況下設置它是什么,但這是在更新js文件時避免緩存的常用方法。

Chrome的控制台輸出不會公開列號,因此您擁有的是:行號。

 const script = document.createElement('script'); const blob = new Blob([`const foo = "bar"; // should throw at line 3 throw new TypeError('not a baz');`], {type: "application/javacript"}); script.src = URL.createObjectURL(blob); document.head.appendChild(script); 

結果是

Uncaught TypeError: not a baz            blob:null/96273a46-9...a3b1-12d1f1f3355c:3
   at 96273a46-9f81-4eed-a3b1-12d1f1f3355c:3

來自Chrome控制台的錯誤消息

如您所見,此處僅顯示行號,即使Error.stack消息確實以script_url:lineno:colno形式公開列號script_url:lineno:colno

 const script = document.createElement('script'); const blob = new Blob([`console.log(new Error('foo').stack);`], {type: "application/javacript"}); script.src = URL.createObjectURL(blob); document.head.appendChild(script); /* Error: foo at blob:null/[random-blob-url]:1:13 */ 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM