Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich die Details einer Aufruffunktion (Zeilennummer und Quell-URL) in JavaScript verfolgen?

Wie kann ich die Details einer Aufruffunktion (Zeilennummer und Quell-URL) in JavaScript verfolgen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-20 21:53:30830Durchsuche

How to Trace Caller Function Details (Line Number and Source URL) in JavaScript?

Anruferdetails in JavaScript verfolgen: Leitungsnummer und Quell-URL

Um die Details der Anruferfunktion, einschließlich Leitungsnummer und Quell-URL, zu verfolgen, Betrachten Sie den folgenden Ansatz:

Den Aufruffunktionsnamen abrufen:

<br>var callerFunc = arguments.callee.caller.toString();<br>callerFuncName = (callerFunc.substring(callerFunc.indexOf("function") 8, callerFunc.indexOf("(")) || "anoynmous")<br>

Dieser Code Snippet ruft den Namen der Anruferfunktion ab.

Abrufen der Anruferleitungsnummer:

So rufen Sie die Leitungsnummer ab, von der aus die Anruferfunktion aufgerufen wurde:

function getErrorObject() {
    try {
        throw Error('');
    } catch (err) {
        return err;
    }
}

var err = getErrorObject();
var caller_line = err.stack.split("\n")[4];
var index = caller_line.indexOf("at ");
var clean = caller_line.slice(index + 2, caller_line.length);

Diese Methode nutzt die Stack-Eigenschaft des JavaScript-Fehlerobjekts, um auf die Leitungsnummer des Anrufers zuzugreifen.

Bestimmen der Quell-URL des Anrufers:

Leider ist dies nicht der Fall Es ist einfach, die Quell-URL direkt von der aufrufenden Funktion abzurufen. Sie können jedoch einen Bundler wie ein Webpack mit Quellzuordnungen verwenden, um eine Zuordnung zwischen dem gebündelten Code und den Quelldateien zu erstellen, sodass Sie die Leitungsnummer des Aufrufers seinem ursprünglichen Quellort zuordnen können .

Das obige ist der detaillierte Inhalt vonWie kann ich die Details einer Aufruffunktion (Zeilennummer und Quell-URL) in JavaScript verfolgen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn