geandr: Caller ermitteln?

Ist es möglich in einer JS Umgebung innerhalb einer JS function zu ermitteln welcher 'caller' die Funktion aufgerufen hat? D.h. ich möchte wissen welche andere JS die aktuelle aufgerufen hat.

Wenn ja, wo kann ich mich weiter schlau machen?

  1. Es gab mal arguments.callee, dieses ist jedoch seit Version 1.4 deprecated (was jedoch nicht heißt, dass es nicht unterstützt wird) - ein nettes Beispiel findet sich hier:

    http://eriwen.com/javascript/js-stack-trace/

    Gruß, LX

    --
    RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
    RFC 1925, Satz 11a: Siehe Regel 6a
    1. Hi

      Es gab mal arguments.callee, dieses ist jedoch seit Version 1.4 deprecated

      Stimmt das? Ich dachte nur Function.arguments.callee sei deprecated.
      callee als Eigenschaft der lokalen arguments-Variable aber weiterhin bestehend…

      Gruss,
      nam

      1. Dazu gibt es unterschiedliche Quellen im Internet. Was jedoch viel wesentlicher ist: welche Browser-Versionen unterstützen callee? Ich habe bisher nur im FF getestet (der es brav unterstützt).

        Gruß, LX

        --
        RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
        RFC 1925, Satz 11a: Siehe Regel 6a
        1. Hi,

          Ihr verwechselt anscheinend arguments.caller und arguments.callee. Der OP fragt wohl eher nach arguments.caller. Das wird laut SELFHTML nur von einigen Browsern unterstützt und ist, wie dort auch steht, seit Netscape JavaScript 1.3 deprecated und nicht Teil von ECMAScript 3 (PDF).

          arguments.callee ist was ganz anders. Es verweist in einer Funktion auf das gegenwärtige Funktionsobjekt. arguments.callee ist auch deprecated, aber erst seit ECMAScript 5 (PDF) und kann im neuen Strict-Mode nicht genutzt werden.

          Michi