3
我已經構建了一個顯示日誌消息和日期時間的自定義日誌記錄實用程序。我想在調用函數的源代碼中添加行號。查找函數調用的源代碼行
有沒有一種方法可以確定HTML源代碼的哪一行是特定的javascript函數被觸發的?
我已經構建了一個顯示日誌消息和日期時間的自定義日誌記錄實用程序。我想在調用函數的源代碼中添加行號。查找函數調用的源代碼行
有沒有一種方法可以確定HTML源代碼的哪一行是特定的javascript函數被觸發的?
已經寫了日誌庫(log4javascript)我自己,我已經考慮過這個同樣的問題,這裏是我的想法:
的問題是,爲了得到你想要的信息,你需要一個Error
對象是在有問題的線上創建的。在日誌實用程序中創建Error
只會直接爲您提供日誌實用程序代碼中特定行的文件名和行號,而不是針對執行日誌記錄調用的代碼行。這一輪唯一的辦法我能想到的是解析Error
的stack
財產(或Opera中的message
屬性),其中有幾個問題:
Error
並分析其堆棧跟蹤每個日誌的通話將添加一個字符串顯着的性能開銷。出於log4javascript的目的,我決定不值得實施,但爲了您自己的需要,您可能會認爲它是值得的。
可能的重複:http://stackoverflow.com/questions/1340872/how-to-get-javascript-caller-function-line-number-how-to-get-javascript-caller-s – jigfox 2010-05-19 15:47:48