1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. hugo1990

Beiträge von hugo1990

  • Probleme mit Node für eigene Erweiterung

    • hugo1990
    • 22. Januar 2007 um 21:41

    Ich möchte für eine Erweiterung alle markierten Links auf einer Seite auswerten, wo die Stehen habe ich auch schon gefunden. Dafür muss ich aber sämtliche childNodes auslesen. Das habe ich ja schon fast fertig, nur habe ich das Problem, nicht genau herauszufinden, wo die Markierung endet.
    Diese Funktion:

    Code
    function getPath(ancestor, node)
     {
       var n = node;
       var p = n.parentNode;
       if (n == ancestor || !p)
         return null;
       var path = new Array();
       if (!path)
         return null;
       do {
         for (var i = 0; i < p.childNodes.length; i++) {
           if (p.childNodes.item(i) == n) {
             path.push(i);
             break;
           }
         }
         n = p;
         p = n.parentNode;
       } while (n != ancestor && p);
       return path;
     }
    Alles anzeigen


    soll wenn ich folgendes mache:

    Code
    var range = selection.getRangeAt(0);
     var ancestorContainer = range.commonAncestorContainer;
     var startContainer = range.startContainer;
     var endContainer = range.endContainer;
    ...
     var startPath = getPath(ancestorContainer, startContainer);
     var endPath = getPath(ancestorContainer, endContainer);


    mir sagen, in welchem Node die Markierung beginnt bzw. endet. Das geht ja auch ganz gut, es sei den auf einer Ebene befindet sich beispielsweise 2 mal ein HTMLFontElement und die Markierung endet im 2., dann sagt er mir jedesmal, dass es im 1. endet. Ist ja auch ganz logisch, nur diese Funktion wird auch verwendet um den Quellcode der Markierung anzuzeigen und dort funktioniert es. Was muss ich machen, damit der mir das richtige Ende anzeigt.

  • Für eigene Erweiterung markierten Text verarbeiten

    • hugo1990
    • 21. Januar 2007 um 16:01

    kann mir jemand sagen, wie ich den Text aus

    Code
    ancestorContainer.childNodes.item(0)


    ausgeben kann. Wenn ich es einfach nur so angebe, dann bekomme ich folgende Meldung:

    Zitat

    [ocject XPCNativeWrapper [object Text]]


    Und wenn ich noch .Text dahinter schreibe, gibt er "undefined" aus.

  • Für eigene Erweiterung markierten Text verarbeiten

    • hugo1990
    • 20. Januar 2007 um 17:55

    Weiß jemand vielleicht zufällig, wie der Code da getrennt wird. Ich habe jetzt mal das:

    Code
    var startPath = getPath(ancestorContainer, startContainer);
     var endPath = getPath(ancestorContainer, endContainer);


    versucht auszuwerten. Da bin ich manchmal darauf gekommen, dass wenn mehrere Html-Tags zusammen stehen, die jeweils zu einer "Gruppe" gehören, aber manchmal ist es so, das z.B. die Tags für einen Link + der Linktext eine "Gruppe" ergeben würden.
    Wenn nicht, kann mir wenigstens jemand erklären, wie ich den Text bekomme der in der Function viewPartialSourceForSelection selektiert wurde auslesen kann.

  • Für eigene Erweiterung markierten Text verarbeiten

    • hugo1990
    • 19. Januar 2007 um 16:04

    Danke erstmal, nur das zeigt ja mehr an als makiert ist. Also hab ich mich ein bisschen im Code von den Links umgesehen und folgendes gefunden:

    Code
    var startOffset = range.startOffset;
    var endOffset = range.endOffset;


    Dort werden der Anfang und das Ende der Markierung gespeichert. Das dumme dabei ist nur, das jedes mal, wenn ein HTML-Tag in der Markierung steht, fängt er danach wieder bei Position 0 an zu zählen. Also kann ich nicht einfach:

    Code
    var Code = ancestorContainer.innerHTML;
    var selected_code = Code.substring(startOffset,endOffset);


    schreiben um nur den Markierten Code zu haben. Wie muss ich das machen, im Code von den Links steht ja, wie das Markiert wird, nur weiß ich nicht wirklich wie ich das so umändern kann, das dieser Teil dann in eine Variable geschrieben wird.

  • Für eigene Erweiterung markierten Text verarbeiten

    • hugo1990
    • 18. Januar 2007 um 21:43

    also ich bin noch kein profi mit javascript, hab das jetzt nur mal schnell überflogen, gibt es da eine function, mit der man den Quelltext des markierten Textes in eine Variable schreiben kann?

  • Für eigene Erweiterung neuen Tab öffnen

    • hugo1990
    • 18. Januar 2007 um 20:33

    Weiß jemand, wie ich mit JavaScript einen neuen Tab öffnen kann.

  • Für eigene Erweiterung markierten Text verarbeiten

    • hugo1990
    • 18. Januar 2007 um 20:11

    Ich möchte mir für Firefox eine Erweiterung schreiben, dazu müsste ich aber wissen, wie ich mit JavaScript den markierten Text auf einer Seite verarbeiten kann. Das sollte wenn es geht der Seitenquellcode dieser Stelle sein.

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon