Zeitangabe wie lange eine Seite noch angezeigt wird

  • Hallo gutschein,

    StayFresh und Tab Slideshow haben voneinander unabhängige Timer, (der Tabwechsel läßt sich ja leider nicht allein durch ein Greasemonkey-Skript vollziehen).
    Um die Installation einer zusätzlichen Erweiterung wie Greasemonkey, Scriptish oder UserChromeJS zu umgehen, liegt die Nutzung eies Werkzeugs wie dem Script Compiler nahe (der ein Userskript direkt in eine Firefox-Erweiterung umwandelt).

    Das hatte ich gemacht und oben stayfresh.zip hochgeladen (mit der Dateiendung .zip, die in .xpi umbenannt werden mußte). Den Timer hatte ich im Skript auf 10 Sekunden gestellt (da das ja unserem Testcase entsprach).
    Um nun den Basis-Timer der Erweiterung StayFresh auf 15 Sekunden zu stellen, sollte vor dem Kompilieren im Skript die Zeile 48 lauten:

    Code
    var refreshInterval = 16;


    Datei speichern oder das Original-Skript nehmen, dort ist es so eingestellt, und den Skript-Quelltext in den Compiler eintragen.
    Probiere es ruhig mal selbst, ist wirklich ganz einfach.
    nicht vergessen: die alte Erweiterung deinstallieren bevor die neue mit 15 s installiert wird.

    Gruß gammaburst

    StayFresh v0.1 (Timer 15 s) als Erweiterung:

  • Verstehe ich das so richtig?
    1. stayfresh.zip entpacken
    2. dann im Ordner stayfresh\content die Datei stayfresh.js öffnen mit dem Editor
    3. Zur folgenden Zeile hinspringen var refreshInterval = 10;
    4. Dort die Zeit von 10 z.B. auf 30 stellen
    5. Den Code mit STRG+C in den Compiler kopieren http://arantius.com/misc/greasemonkey/script-compiler
    6. auf Compile klicken

    Leider funktioniert das nicht.

    Oder soll ich den Quellcode der xpi da rein kopieren. Aber da finde ich dan die refreshINterval = 10 nicht. Nur komische Zeichen.

    Nachtrag:
    Die Fehlermeldung lautet nach dem installieren (hineinziehen in firefox)

    stayfresh konnte nicht installiert werden,
    da es nicht kompatibel ist mit Friefox 5.0

    Vielen Dank

  • Vergiß erst einmal die stayfresh.zip, diese Datei ist nur zum Umbenennen da, in den Namen stayfresh.xpi, sie ist dann schon das Produkt, eine fertige Erweiterung. Sie wurde nur nicht als .xpi hochgeladen weil das Board Dateien mit dieser Endung nicht akzeptiert.

    Vor dem Kompilieren:
    die Original-Datei stayfresh.user.js öffnen mit dem Editor. Installiert wurde die Datei ja ursprünglich schon um unter Greasemonkey zu arbeiten. Lasse Greasemonkey oder zumindest stayfresh.user.js aber deaktiviert, denn die Datei soll durchs Kompilieren in eine Erweiterung umgewandelt werden die unabhängig von Greasemonkey arbeitet.

    Öffne den Addon-Manager unter Firefox.
    Deinstalliere im Erweiterungen-Tableau (das mit dem Puzzle-Zeichen) zunächst eventuell noch vorhandenes stayfresh.
    Klicke im Addon-Manager aufs Tableau Userskripte (das mit dem Greasemonkey-Symbol). Mit der rechten Maustaste auf StayFresh wähle Bearbeiten (oder Edit).
    [Blockierte Grafik: http://www.IMG-Teufel.de/thumbs/AddonsManager001a5455f36png.png]

    Der Editor sollte sich automatisch geöffnet und den Quelltext, also stayfresh.user.js, geladen haben. Bearbeite Zeile 48 und trage dort z.B. ein:

    Code
    var refreshInterval = 31;


    (gewünschte Zeit plus 1 Sekunde).
    Speichere mit dem Editor die so geänderte Datei, auch gerne mit dem Datei --> speichern unter... Dialog des Editors an einen Dir genehmen Ort (z.B. auf den Desktop).
    Im Editor markiere den gesamten Quelltext durch den Befehl Bearbeiten --> Alles markieren (meist funktioniert auch Strg+A).
    Den markierten Text kopiere in die Zwischenablage des Betriebssystems mit Strg+C.


    Kompilieren:
    Rufe unter der Adresse http://arantius.com/misc/greasemonkey/script-compiler den Skript-Compiler auf.

    Klicke im Formular zuerst in das Eingabefeld "User script:" Dort füge mit Strg+V den Inhalt der Zwischenablage (den editierten Skript-Quelltext) ein.
    Das Feld "GUID" lasse unverändert, es gibt der künftigen Erweiterung eine eindeutige Identifikationsnummer.
    In das Feld "Creator name:" trage z.B. ein: compiled by gutschein; script written by Rob Dawson.
    Unter "Extension version:" vergib eine Versionsnummer für künftige Erweiterung, die Deiner Arbeitsweise entspricht. (ich hatte willkürlich 0.1 gesetzt, habe ja außer dem Wert des initialen Timers nichts geändert).
    Das Feld "Firefox min version:" lasse dieses unverändert, voreingetragen ist 2.0
    Feld "Firefox max version:" Da das Skript nichts enthält, das die Nutzeroberfläche oder Schnittstellen des Firefox beeinflußt, ist es ungefährlich dort 7.0 einzutragen (die höchste Firefox-Version unter der die Erweiterung arbeiten können wird). [Falls im Firefox nach Version 7 keine gravierenden Änderungen auftreten, die auch Userscripte und Erweiterungen beträfen kann der Wert durch Neukompilieren später immer wieder heraufgesetzt werden.]

    Klick auf "Compile" erstellt die Erweiterung stayfresh.xpi
    Aus dem dargebotenen Downloaddialog wähle einen passenden Speicherort, ziehe die Datei von dort in das Firefox-Hauptfenster und starte Firefox neu.
    Fertig. :)

    Gruß gammaburst

  • Hi,

    super wieder deine Anleitung. Ich bin voll klar damit gekommen.
    Nach dem ich jetzt in 5s Schritte alle möglichen Zeiten eingestellt habe, habe ich einen noch einfacherer Möglichkeit gefunden.

    Ctrl-Alt-Page Up and Ctrl-Alt-Page Down
    Mit der obigen Tastenkombination kann die Zeit des Counters eingestellt werden.

    Wichtig ist nur folgendes
    Wenn stayfresh-30s.xpi 31 beginnt, muss bei tab_slideshow-4.0-fx.xpi 32 eingestellt werden.
    Klasse. Oder

    Nachtrag:
    Deine Möglichkeit ist bei weitem besser. Denn bei jeder Tastenkombination
    Ctrl-Alt-Page Up wird der Zähler immer um das doppelte hoch gesetzt 2-4-8-16 usw. so dass eine genau Zeitangabe fast nicht möglich ist.
    Vielen, vielen Dank

  • Zitat von gutschein

    Hi,

    super wieder deine Anleitung. Ich bin voll klar damit gekommen.


    Hallo,
    Wunderbar - es freut mich sehr, daß Du so gut klar kommst. :klasse:

    Zitat

    Wichtig ist nur folgendes
    Wenn stayfresh-30s.xpi 31 beginnt, muss bei tab_slideshow-4.0-fx.xpi 32 eingestellt werden.
    Klasse. Oder


    Yep, danke schön, das wußte ich noch nicht, diese Information könnte auch für potentielle Entwickler wichtig sein, um eine nächste Version von StayFresh mit Tab-Rotation zu entwickeln.
    Wie Du durch den letzten (Fehl)versuch (die zip-Datei zu entpacken und durch den Compiler zu schicken) schon feststellen konntest, enthielt das fehlerhafte Kompilat trotzdem eine .js -Datei. Genauso verhält es sich bei den meisten (oder fast allen) Erweiterungen, so auch bei Tab Slideshow. Der Compiler tut im Wesentlichen nichts anderes als einer kompilier_mich_auch.user.js eine geordnete Verzeichnisstruktur zu geben, die Firefox dann als Erweiterung erkennt und behandelt.

    Der Weg zu stayfresh 0.2
    Ein geneigter Erweiterungsautor müßte halt "nur" noch aus dem JavaScript von Tab Slideshow den Punkt (den Befehl) finden mit dem zum nächsten Tab gewechselt wird und an dieser Stelle, bevor der Tabwechsel stattfindet, eine Ereignisabfrage einbauen, ob der Zähler aus dem JavaScript von StayFresh schon den Wert Null erreicht hat, und wenn ja, dann erst sollte Tab Slideshow zum nächsten Tab schalten.
    Beide (veränderte?) Javascripte sollten sinnvoll in ein Javascript geschrieben und/oder auf beschriebene Art & Weise ergänzt, miteinander verknüpft und mit entsprechenden Zusatzinformationen (Metadaten?, Kopfdaten?) als Erweiterung verpackt werden.

    Da ich selbst das nicht kann hätte ich noch ein bis drei Ideen, wie Firefox-Nutzer vielleicht zu StayFresh with tab rotation oder Tab Slideshow with visible countdown kommen:
    a) (und diese Möglichkeit wäre mir am liebsten ;)) Jemand liest diesen Thread, nimmt sich der Sache an und baut einfach drauf los.
    b) der Autor von Tab Slideshow macht das.
    c) das Ansinnen kann ins Mozilla Add-ons Forum gestellt werden, weiter wie a)
    d) dem Autor von StayFresh kann und sollte Rückmeldung gegeben werden, ob Rob Dawson neben Userscripten auch Erweiterungen baut ist mir aber nicht bekannt, gefunden hatte ich bisher von ihm keine.

    Bis dahin müssen wir mit dem durch uns ausgetüftelten Verfahren Vorlieb nehmen, was ja aber auch schon mal nicht schlecht ist. :) Bis die Punkte b) bis d) in Angriff genommen werden gilt schon mal a), nicht wahr liebe Erweiterungsprogrammierer?!
    Schon mal ein herzliches Dankeschön an Alle, die sich die Mühe machen diesen Thread zu lesen.

    Gruß gammaburst

  • Hi,

    ich bin wirklich begeistert. So funktioniert es auch schon recht gut. Ich habe wie gesagt, einfach das Ganze für 5s bis 90s gemacht. Je nach wunsch deinstalliere ich dann die eine Datei und installiere die andere.
    Denn meckern werden die Leute sowieso. Die Zeit ist zu kurz oder zu lang usw. So kann ich dann doch recht schnell (relativ gesehen) die Zeiten ändern. Ich muss halt an jeden PC immer ran. Aber für unsere Zwecke ist das genial.
    Ich kann Vertretungspläne und Infos übers Internet an verschiedene PCs an verschiedene Standorte zeitgleich übermitteln.

    Die kommerziellen Produkte kosten pro Lizenz ca 700 Euro. Wahnsinn. Das kann sich eine kleine Schule oder ein kleines Unternehmen leider nicht leisten. Bei uns ist es ja wie gesagt sehr schwierig, da die Schule an zwei Standorten sich befindet und keine Sekretärin verfügbar ist. Alle schreien nach Bildung aber es darf nichts kosten.
    In Baden-Württemberg gibt es nicht mal Geld für eine Förderstunde in der Grundschule. Gerade da wo doch das Fundament gelegt werden soll. Naja zum Glück gibt es aber noch engagierte Eltern, die den Schulen so helfen zu versuchen.

    Vielen Dank

  • Zitat von gutschein

    Ich habe wie gesagt, einfach das Ganze für 5s bis 90s gemacht.


    Danke, das hatte ich zuerst überlesen, dann lasse ich eine kurze Zeit, 5-8 s auch mal über eine große Anzahl (ca. 100) Tabs laufen. Ein ausgewachsener Stresstest für andere Zwecke der Firefox-Entwicklung (Garbage Collection stats and thesis updates) arbeitet mit 150 Tabs grundverschiedener typischer Seiten.

    Zitat

    Je nach wunsch deinstalliere ich dann die eine Datei und installiere die andere.
    Denn meckern werden die Leute sowieso. Die Zeit ist zu kurz oder zu lang usw. So kann ich dann doch recht schnell (relativ gesehen) die Zeiten ändern. Ich muss halt an jeden PC immer ran.


    Das sehe ich auch so und das Verfahren ist für unsere Zwecke praktikabel bis eventuell einmal eine Weiterentwicklung vorliegt. Zu meckern braucht niemand, schließlich gibts unser Verfahren für lau. Die Zukunft liegt nicht nicht in erster Linie im Geld, sondern in den Ideen. Schön ist wenn beides zusammenkommt.

    Danken sollte man auch der Mozilla-Foundation und der weltweiten Gemeinschaft von Entwicklern, die neben anderen Produkten unermüdlich Firefox verbessern um den Nutzern, "die verrückte Dinge" mit dem Browser anstellen ein hochwertiges Produkt anzubieten, und das sind nicht nur Privatanwender, sondern auch Firmen. Gerade kürzlich hat, nach massiven Protesten, Mozilla eingelenkt, um auch für Institutionen & Firmen, die bis 20 Monate für ein Firefox-Update brauchen und sich über die schnelle Veröffentlichungsfolge beschwerten, das Open Source-Produkt zur Verfügung zu stellen [1].

    [1] http://blog.mozilla.com/blog/2011/07/1…-working-group/

    Gruß gammaburst