Beiträge von Bazon Bloch

    Hallo allerseits!


    Ich würde gerne in eine Greasemokey Script etwas einbauen, was diesem scrollBy Beispiel bei Selfhtml entspricht.


    Kurz gesagt ruft sich dabei die Scroll Funktion nach einer kurzen Pause rekursiv selbst auf, und genau das ist das Problem:
    Verkürzt (aber bereits theoretisch funktionierend):

    Code
    1. function NachOben () {
    2. var y = 0;
    3. y = window.pageYOffset;
    4. if (y > 0) {
    5. window.scrollBy(0, -10);
    6. setTimeout("NachOben()", 10);
    7. }
    8. }


    Der einmalige Aufruf funktioniert (wie ich durch Einbauen eines alerts prüfen konnte), der rekursive Aufruf klappt aber nicht!


    Fehlermeldung in der Konsole:

    Zitat

    NachOben is not defined
    file:////bla/greasemonkey.js Zeile 355.


    Daher meine Frage:
    Hat jemand eine schöne Alternative?
    Eine Wartezeit brauche ich, sonst geht das Scrollen zu schnell...


    Danke schön...!

    Hallo Boardraider mal wieder! :)


    Hier und in diesem Fall kann ich das ohne weiteres am praktischen Fall demonstrieren:


    Mit Doctype:
    http://home.arcor.de/bazonbloch/testbox/scrolltest.html


    Ohne Doctype:
    http://home.arcor.de/bazonbloch/testbox/scrolltest2.html


    Man beachte die Unterschiede beim Betätigen der up bzw. down Links sowie den unterschiedlichen compatMode. (Diese Ausgabe ist per JavaScript erstellt...)


    Könnte ich den CompatMode durch JavaScript direkt ändern, wäre es natürlich auch gut, aber bei einem Versuch à la document.compatMode = "CSS1Compat "; meldet die Fehlerconsole, dass es für diese Variable keinen Setter gäbe....

    Hallo, ich habe mal wieder ein Greasemonkey Vorhaben, bei dem ich etwas ratlos bin.


    Und zwar möchte ich per Greasemokey Script in eine Seite so einen sexy Scrollmechanismus einbauen wie z.B. auf dem Hauptstadtblog (der Pfeil nach oben auf dem Fernsehturm....)


    Dabei stellte ich fest, dass dieses Skript nur funktioniert, wenn die Webseite mit


    (blöder Board-Parser...)
    beginnt. (*)


    Die seite, auf die ich das Skript anwenden will, beginnt aber ganz schlicht mit

    HTML
    1. <html><head><title>Seitentitel</title>


    Wie kann ich also per Gresemomkey diese <DOCTYPE> Zeile einfügen?
    Hat jemand eine Idee?
    Danke schonmal!



    (*)
    (Wer es nicht glaubt, der speicher die Seite mal und lösche die erste Zeile...[der Link im Turm ist schwerer zu finden, da der Turm bei einer lokalen Kopie der Seite nicht gespeichert wird, aber prinzipiell geht es eben auch lokal sonst])

    Hehe, da muss ich Dir aber widersprechen!


    Um einen Endanker zur aktuellen Siete zu bekommen bräuchte ich doch keine For-Schleife und müsste sowieso nicht groß nach Links suchen. :)


    Ja, ich weiß natürlich, dass sich das im konkreten Falle immer besser nachvollziehen lässt, aber in diesem Fall ist das leider nicht möglich, es handelt sich um eine nicht öffentlich zugängliche Seite.


    Aber ist ja egal, abgesehen von der nicht ganz perfekten Findung des Endankers beim Laden von einer anderen Seite aus (wenn man sich bereits auf der Seite befindet wird der Endanker richtig gefunden...!) ist ja alles paletti... :)

    Zitat von boardraider

    Der Link ist schon korrekt, es reicht die Angabe des Anchors. Der Browser vervollständigt das automatisch.


    Aber doch nur für die Seite, auf der man sich befindet!
    Es geht ja hier um Links zu anderen Seiten....



    Noch eine Sache:
    Sooo toll funktioniert die #end Anchor Geschichte leider nicht:
    Ich lande dann nicht ganz unten, sonder ein bisschen weiter oben.


    Ich vermute, dass durch die ganze Seitenmodifikation (noch einiges mehr außer den Endlinks...) Firefox mit seienn vertikalen Positionen durcheinanderkommt...
    ...da gibt es wahrscheinlich aber keinen Trick um zu bewirken, dass man doch am Ende ankommt, oder?

    Cool, danke, fast! :)
    Der Link war so noch nicht korrekt, stattdessen:


    Code
    1. if (links[i].href.search(/daswonachichsuche/) > 0)
    2. {
    3. newLink = document.createElement("a");
    4. newLink.href= String(links[i]) + "#end";
    5. newLink.innerHTML = "end";
    6. links[i].parentNode.insertBefore(newLink, links[i].nextSibling);
    7. }


    Komisch ist nur, dass das ganze jetzt nur bis zur Hälfte der Links durchgeführt wird, kann das sein, dass die links[i] dynamisch abgepasst wird?


    Ich probiers mal gleich mit der doppelten Länge....

    Hallo allerseits!


    Habe zur Zeit folgendes Problem:
    Ich würde auf einigen Seiten direkt hinter vorhandenen Links Variationen dieser Links (nämlich anhängen von "#end") hinzufügen.


    Die Links bekomme ich, aber sie landen nicht an der richtigen Stelle!
    (Sondern total konfus an allen möglichen Stellen...)


    Wie mache ich es also richtig?


    Danke schonmal!


    Anhang: So mache ich es bisher falsch:


    Ah ja, danke für die Infos! :-)


    Hm, naja, ich benutze zur Zeit ein Sony Ericsson W880i, also weder Symbian noch Windows Mobile noch Linux.
    Eben nur Java, daher auch Opera Mini.


    Im Großen und Ganzen bin ich damit ja auch recht zufrieden, aber so die Extra-User-Freiheits-Kicks eines Firefox werden eben nicht geboten....


    ...aber mal sehen, vielleicht habe ich ja auch ein entsprechendes Smart-Phone, bis der Fx Mobile raus ist...

    Auf userstyles.org gibt es ja die Möglichkeit, CSS-Styles für den Content als Greasemonkey Script zu laden, siehe z.B. da.


    Auf der Seite scheint die Umwandlung ja automatisch vonstatten zu gehen, daher die Frage:
    Gibt es irgendwo einen CSS-Style zu Greasemonkey Converter?


    Ja klar, offensichtlich auf userstyles.org, aber ich will den Stil eben nicht unbedingt auf userstyles.org hochladen.


    Danke schonmal!

    Hallo Mr 6!


    Ich glaube nicht, dass jemand Dein Problem versteht, so wie Du es erklärst.


    Mir ist zum Beispiel noch nicht klar, ob es hier um die Umgestaltung einer Internetseite geht, so, dass sie auch mit Firefox gut funktioniert, oder ob Du als Anwender mit dem Firefox ein Problem mit einer speziellen Webseite hast, dass Du anhand von Firefox-Einstellungen beheben willst.


    Beschreibe Dein Problem doch bitte mal so, dass es jeder nachvollziehen kann. :-)


    Und alles Gute am Samstag, wenn mich da nicht alle täuscht... ;-)