OK, hab die Antwort selbst gefunden...:
http://forums.mozillazine.org/viewtopic.php?p=2006628#2006628
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):Codefunction NachOben () { var y = 0; y = window.pageYOffset; if (y > 0) { window.scrollBy(0, -10); setTimeout("NachOben()", 10); } }
Der einmalige Aufruf funktioniert (wie ich durch Einbauen eines alerts prüfen konnte), der rekursive Aufruf klappt aber nicht!
Fehlermeldung in der Konsole:
ZitatNachOben 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.htmlOhne Doctype:
http://home.arcor.de/bazonbloch/testbox/scrolltest2.htmlMan 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
[Blockierte Grafik: http://img338.imageshack.us/img338/7459/doctyperz8.png]
(blöder Board-Parser...)
beginnt. (*)Die seite, auf die ich das Skript anwenden will, beginnt aber ganz schlicht mit
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? -
jepp, mit 2 * laenge in der for Schleife bekommt jeder Link ein end hintendran...
...komisch.Aber was solls, funktioniert!
Danke!!!
-
Cool, danke, fast!
Der Link war so noch nicht korrekt, stattdessen:Codeif (links[i].href.search(/daswonachichsuche/) > 0) { newLink = document.createElement("a"); newLink.href= String(links[i]) + "#end"; newLink.innerHTML = "end"; links[i].parentNode.insertBefore(newLink, links[i].nextSibling); }
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....
-
-
Danke, ABER:
So werden ja alle Links ersetzt!
Ich möchte, dass diese neuen Links direkt neben die alten hinzugefügt werden, soll also praktisch so aussehen:alt:
irgendein Linkneu:
irgendein Link endIst hier zwar sinnlos, aber prizipiell eben...
-
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:
Code
Alles anzeigenvar links, laenge; links = document.getElementsByTagName('a'); laenge = links.length; var endlink = ""; var endlinks = new Array(laenge); for (var i = 0; i kleiner laenge ; i++) // kleiner-Zeichen führt zu falscher Darstellung { endlinks[i] = document.createElement("a"); endlink = String(links[i]); if (endlink.search(/daswonachichsuche/) > 0) { endlink = endlink + "#end"; endlinks[i].innerHTML = '<a href="' + endlink + '"> end</a>'; document.links[i].parentNode.appendChild(endlinks[i]); } }
-
Ja, war wirklich nicht so schwer.
Ist halt ein bisschen nervig, dass man in Javascript die ganzen Zeilenumbrüche ersetzen muss... -
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...
-
Ist eigentlich sowas wie Firefox Mobile (fürs MobilTelephon eben) geplant? Ich bin hier gerade mit Opera Mini unterwegs und fände Greasemonkey und Stylish sehr praktisch...:)
-
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...
-
Nur zur Info:
Alle Wünsche umgesetzt!
Greasemonkey ist echt ne feine Sache....!Danke Dr.!
-
Stand soweit:
Juhuu, kann jetzt mit dem Button auf entsprechende Textarea zugreifen!
(Genaugenommen bisher: Markierten Text in nem PopUp ausgeben, der Rest wird dann aber auch schon klappen....)
Sehr schön, dass im Quelltext dieser Seite die überaus nützliche Seite http://www.massless.org/mozedit/ verlinkt war.... -
@Dr.:
Danke, funktioniert soweit...!
Gut, dann schau ich mal, wie ich auf den inhalt der Textarea zugreifen kann....
(...ich schaue einfach, wie das auf genau dieser Seite [also der "Antwort schreiben" Seite] hier gemacht ist.) -
Ah, Hallo Dr.!
Habe Deine Antwort erst jetzt gesehen, probiere ich gleich aus.....