Greasmonkey script getelementsbyTagname



  • Hay Leute,

    habe es mal versucht mit dem Greasmonkey script allerdings nur zum teil...

    function newlink (){
    neuerlink = document.createElement('a');
    neuerlink.setAttribute("href", "vote.html");
    text = document.createTextNode('VOTEN.');
    neuerlink.appendChild(text);
    document.body.appendChild(neuerlink);
    }
    
    document.getElementsByTagName("p")[0].firstChild.data = newlink;
    

    Der Codeausschnitt macht mir Probleme!
    er zeigt mir alles an was in der Funktion steht und macht mir kein link!

    ich hoffe ihr könnt mir da weiterhelfen danke!!!



  • Morgen,

    er zeigt dir alles an was in der Funktion steht, macht aber keinen Link?
    Hast du die Script-Tags vergessen? 😃

    <script type="text/javascript">
    function newlink (){
    /* Hier der Code */
    }
    
    document.getElementsByTagName("p")[0].firstChild.data = newlink;
    </script>
    

    VlG



  • Hallo,

    Muss ich den script tag auch im greasmonkey script benutzen?



  • Mach mal:
    ... = newlink();

    und nein die script tags brauchste in GM nicht



  • Hallo,

    Jetzt steht da Undefined

    obwohl "P" als Tag dort existiert!

    mfg



  • was genau hast du eigentlich vor?
    Du erzeugst einen neuen link und baust den in dein Dokument ein in der Funktion (soweit ist mir das klar)
    Aber Wieso die letzte Zeile?

    Und hat das p-Tag noch untertags(wegen firstChild) und wenn du einen link einfügen willst, den du schon so schön erstellt hast wäre appenChild vielleicht schöner. Ich bin mir auch nicht sicher, was deine Funktion genau für einen Wert zurückgibt(da du kein explizietes return angegeben hast. Vielleicht liegt es daran)

    Ansonsten wenn du FF verwendest, starte mal die Fehlerkonsole (Strg+Shift+J) und schau, ob die einen Fehler liefert



  • Hallo die Fehler konsole von ff sagt das "P"[0] undefiniert ist was allerdings nicht sein kann da es den P Tag ja gibt.

    Ich möchte ja einfach nur das ein Link erzeugt wird und der auf der Seite zusehen ist mehr will ich gar nicht...

    mfg



  • function newlink (){
        neuerlink = document.createElement('a');
        neuerlink.setAttribute("href", "vote.html");
        text = document.createTextNode('VOTEN.');
        neuerlink.appendChild(text);
        return neuerlink;
    }
    
    setTimeout('document.getElementsByTagName("p")[0].appendChild(newlink());', 1000);
    

    so funktionierts(zumindest bei mir und ohne GM)
    Das Problem könnte sein, dass die Seite noch nicht vollständig geladen wurde, wenn du versuchst da ein weiteres Element hinzuzufügen.
    Wobei ich bei meinen GM-Skripten den Timeout auhch nicht immer habe.



  • Hallo,

    erstmal Vielen dank, allerdings funktioniert das bei mir mit GM nicht.

    So langsam verzweifel ich daran...

    mfg


Anmelden zum Antworten