Maison  >  Article  >  interface Web  >  Comment récupérer le numéro de ligne de fonction de l'appelant et l'URL source en JavaScript ?

Comment récupérer le numéro de ligne de fonction de l'appelant et l'URL source en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-20 21:55:29714parcourir

How to Retrieve Caller Function Line Number and Source URL in JavaScript?

Récupération du numéro de ligne de la fonction de l'appelant et de l'URL source en JavaScript

L'obtention du nom de la fonction de l'appelant est accessible à l'aide de arguments.callee.caller.toString( ). Cependant, il existe des méthodes pour enquêter plus en détail sur les détails de l'appelant.

Numéro de ligne de fonction de l'appelant

Pour obtenir le numéro de ligne sur lequel la fonction a été invoquée :

<code class="js">function getErrorObject() {
  try {
    throw Error('');
  } catch (err) {
    return err;
  }
}

var err = getErrorObject();
var callerLine = err.stack.split('\n')[4];
var idx = callerLine.indexOf('at ');
callerLine = callerLine.slice(idx + 2, callerLine.length);</code>

URL source de l'appelant

Malheureusement, l'obtention du fichier source JavaScript exact ou de l'URL d'où provient l'appelant n'est pas directement prise en charge en JavaScript. Cependant, dans les navigateurs comme Chrome et QtWebView, vous pouvez accéder à la pile d'appels à l'aide de la propriété err.stack, qui fournit une liste des noms de fonctions et des numéros de ligne des appelants. En analysant ces données, vous pourrez peut-être déduire le fichier source ou l'URL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn