frankx: molilys Script, kleiner Erweiterungsvorschlag f. Ausblendbuttons

Hellihello,

da ich eine ganze Menge Threads ausblende, möchte ich gerne die Ausblendbuttons übereinander haben, sonst muss man mit der maus immer hin und her. So molilys script mit eingebunden (Einbindung nach onload klappte nicht via script-Element).
:

  
  
document.write('<script src="', 'http://forum.de.selfhtml.org/js/forum.js', '" type="text/JavaScript"><\/script>');  
window.onload = function ()  
{  
  
 //~ my_head_ref = document.getElementsByTagName("head")[0];  
 //~ my_js_script = document.createElement("script");  
 //~ my_head_ref.appendChild(my_js_script);  
 //~ my_js_script.setAttribute("type","text/javascript");  
 //~ my_js_script.setAttribute("src", "http://forum.de.selfhtml.org/js/forum.js");  
  
        allImages = document.getElementsByTagName("img");  
 for (i = 0; i<allImages.length; i++) {  
  if (allImages[i].src ==  "http://src.selfhtml.org/del.gif") {  
   allImages[i].style.border = "1px solid red";  
   allImages[i].style.position = "absolute";  
   allImages[i].style.right = "1em";  
   //~ allImages[i].style.display = "block";  
  }  
 }  
}  
  

Dank und Gruß,

frankx

--
tryin to multitain  - Globus = Planet != Welt
 
  1. da ich eine ganze Menge Threads ausblende, möchte ich gerne die Ausblendbuttons übereinander haben, sonst muss man mit der maus immer hin und her.

    Dafür hat der Link die Klasse function-link-hide. CSS müsste für das Vorhaben ausreichen, oder?

    Mathias

    1. Hellihello

      Dafür hat der Link die Klasse function-link-hide. CSS müsste für das Vorhaben ausreichen, oder?

      Au ja. Warum klappt das Einbinden Deines Scriptes nicht über das Einhängen eines script-Elementes im Head nach dem window.onload() ?

      Dank und Gruß,

      frankx

      --
      tryin to multitain  - Globus = Planet != Welt
      1. Hellihello,

        entschuldigt bitte, wenn ich mich hier auch mal einklinke, auch wenn ich nichts zum Thema des OP beizutragen habe.

        Ich benutze das Script jetzt auch schon einige Tage, und möchte gerne ein kurzes Feedback abgeben.

        • Ungelesene Antworten auf eigene Beiträge anzeigen
          Meine Lieblingsfunktion des Scripts! ;-)
          Hier scheint es aber ein Problem mit dem Cache zu geben. Wenn es eine neue Antwort gab, man diese gelesen hat und dann mittels des Links ganz oben auf der Beitragsseite wieder auf die Forums-Hauptseite zurückkehrt, dann wird die Antwort immer noch angezeigt. Erst ein erneuter Reload lässt die Anzeige verschwinden.

        • Kontextmenüs
          Bei den Kontextmenüs fände ich es komfortabler, wenn sich diese durch einen Klick außerhalb automatisch schließen würden.

        Einen Erweiterungsvorschlag hätte ich auch noch:
        Ich fände es sehr praktisch, wenn man per Listenauswahlfeld/ Kontextmenü kurzfristig die Sortierung der Beiträge sowohl im Forum, als auch in der Beitragsansicht ändern könnte.

        Ansonsten muss ich sagen, dass ich mir das Forum ohne dieses Script schon gar nicht mehr vorstellen kann! Das ist eine sehr gute Geschichte, die sich bis jetzt bei mir auch völlig problemlos und nahtlos in die Foren-Soft einfügt! Ganz großes Kompliment!

        Gruß Gunther

          • Ungelesene Antworten auf eigene Beiträge anzeigen
            Hier scheint es aber ein Problem mit dem Cache zu geben.

          Nun, das ist kein Problem, sondern eigentlich ein Feature des Forums.
          Der Forumsclient muss die Hauptseite ständig neu generieren. Das kostet Rechenzeit, was das Forum (früher) sehr lahm gemacht hat, wenn viele auf die Forumshauptseite zugegriffen haben. Deshalb generiert er sie am liebsten nur einmal pro Minute (oder seltener, ich weiß nicht, wie er genau eingestellt ist) und sendet ansonsten Caching-Header, die dem Browser sagen, dass die gegenwärtige Version noch aktuell ist.
          Seitens des JavaScripts kann man da nichts machen -höchstens einen Reload erzwingen, aber als Forumsteilnehmer sollte man nicht wichtige Performance-Überlegungen der Forumsbetreiber untergraben. ;)
          Was ich seitens des JavaScripts allerdings tun könnte, ist die Linkfarbe überprüfen. Denn diese weist ja darauf hin, dass das Posting schon gelesen wurde, auch wenn im zugrunde liegenden Quellcode der Forumshauptseite noch keine Gelesen-Markierung steht.

          • Kontextmenüs
            Bei den Kontextmenüs fände ich es komfortabler, wenn sich diese durch einen Klick außerhalb automatisch schließen würden.

          Kann ich einrichten.

          Ich fände es sehr praktisch, wenn man per Listenauswahlfeld/ Kontextmenü kurzfristig die Sortierung der Beiträge sowohl im Forum, als auch in der Beitragsansicht ändern könnte.

          Mal sehen, was sich da machen lässt.

          Ansonsten muss ich sagen, dass ich mir das Forum ohne dieses Script schon gar nicht mehr vorstellen kann! Das ist eine sehr gute Geschichte, die sich bis jetzt bei mir auch völlig problemlos und nahtlos in die Foren-Soft einfügt! Ganz großes Kompliment!

          Dankesehr. Und auch danke für die Vorschläge.

          Mathias

          1. Was ich seitens des JavaScripts allerdings tun könnte, ist die Linkfarbe überprüfen. Denn diese weist ja darauf hin, dass das Posting schon gelesen wurde, auch wenn im zugrunde liegenden Quellcode der Forumshauptseite noch keine Gelesen-Markierung steht.

            Done
            Solche Postings werden jetzt nicht mehr als ungelesen angezeigt.

            Bei den Kontextmenüs fände ich es komfortabler, wenn sich diese durch einen Klick außerhalb automatisch schließen würden.

            Done

            Ich fände es sehr praktisch, wenn man per Listenauswahlfeld/ Kontextmenü kurzfristig die Sortierung der Beiträge sowohl im Forum, als auch in der Beitragsansicht ändern könnte.

            Done
            Noch nicht ganz schön. Ich kann im JS m.W. nicht abfragen, welche Sortierung gerade aktuell ist.

            Mathias

            1. Hallo Mathias!

              Na das ging ja fix! :-)

              Done
              Noch nicht ganz schön. Ich kann im JS m.W. nicht abfragen, welche Sortierung gerade aktuell ist.

              Das wollte ich gerade anmerken, dass es schön wäre, wenn die aktuelle Einstellung vorselektiert wäre. Allerdings leuchtet das Problem dabei ein. Was man imho noch ändern könnte, wäre das Weglassen der Abfrage, denn eine gemachte Auswahl impliziert doch gerade diesen Wunsch.

              Ist aber auch so schon eine weitere Steigerung des Benutzerkomforts!

              Gruß Gunther

              1. Hallo Mathias!

                Irgendwann schaffe ich es auch noch mal, gleich Alles in einem Posting zu schreiben ...!

                Done
                Noch nicht ganz schön. Ich kann im JS m.W. nicht abfragen, welche Sortierung gerade aktuell ist.
                Das wollte ich gerade anmerken, dass es schön wäre, wenn die aktuelle Einstellung vorselektiert wäre. Allerdings leuchtet das Problem dabei ein.

                Ließe sich dieses Problem ggf. nicht mittels eines Cookies umgehen? Zumindest für die User, die Cookies akzeptieren.

                Gruß Gunther

                1. Ließe sich dieses Problem ggf. nicht mittels eines Cookies umgehen?

                  Ja, wenn man einmal per JavaScript eine Auswahl getroffen hat, ist es natürlich möglich, wieder im JavaScript vorzuselektieren.
                  Allerdings ist das schwierig, weil es wie gesagt völlig losgekoppelt von der serverseitigen, tatsächlichen Einstellung ist.
                  Ich werde mir mal überlegen, ob ich nicht irgendwie über die Templates an die Einstellung komme.

                  Mathias

                  1. Hallo

                    Ließe sich dieses Problem ggf. nicht mittels eines Cookies umgehen?

                    Ja, wenn man einmal per JavaScript eine Auswahl getroffen hat, ist es natürlich möglich, wieder im JavaScript vorzuselektieren.
                    Allerdings ist das schwierig, weil es wie gesagt völlig losgekoppelt von der serverseitigen, tatsächlichen Einstellung ist.
                    Ich werde mir mal überlegen, ob ich nicht irgendwie über die Templates an die Einstellung komme.

                    Die Idee ist nicht grade eine Ausgeburt an Eleganz, aber wäre es nicht möglich, einen HTML-Kommentar mit der gewünschten Information zu setzen, der via JavaScript ausgelesen wird?

                    Tschö, Auge

                    --
                    Die deutschen Interessen werden am Liechtenstein verteidigt.
                    Veranstaltungsdatenbank Vdb 0.2
      2. Warum klappt das Einbinden Deines Scriptes nicht über das Einhängen eines script-Elementes im Head nach dem window.onload() ?

        Das klappt durchaus. Allerdings werden die Initialisierungsfunktionen nicht ausgeführt, weil diese als DOMContentLoaded-Handler registriert sind. Und DOMContentLoaded feuert vor load.

        Mathias

        1. Hellihello

          Das klappt durchaus. Allerdings werden die Initialisierungsfunktionen nicht ausgeführt, weil diese als DOMContentLoaded-Handler registriert sind. Und DOMContentLoaded feuert vor load.

          Und kann ich dein DOMContentLoaded-replay abfeuern oder wie könnte ich das hässliche document.write umgehen?

          Dank und Gruß,

          frankx

          --
          tryin to multitain  - Globus = Planet != Welt
          1. Und kann ich dein DOMContentLoaded-replay abfeuern

            Ja, du kannst SELFHTML.Forum.initModules aufrufen, das führt alle vorher registrierten Initialisierungsfunktionen aus. Per DOMContentLoaded wird direkt nur diese Funktion ausgeführt, die startet dann alle weiteren. (Ist absichtlich so »zentralisiert«, u.a. )

            oder wie könnte ich das hässliche document.write umgehen?

            Was ist an document.write hässlich? Im Übrigen musst du nicht auf onload warten, um script-Elemente per DOM einzubinden. Dein Script funktioniert auch während dem Laden des Dokuments, denn es hat, sofern es im head eingebunden wird, bereits Zugriff auf das head-Element.

            Mathias

            1. Ist absichtlich so »zentralisiert«, u.a.

              ... damit man Module für die Forumshauptseite respektive die Postingansicht registrieren kann und die dafür nötige Abfrage der body-ID nur an einer, nämlich dieser Stelle, erfolgen muss.

            2. Und kann ich dein DOMContentLoaded-replay abfeuern

              Ja, du kannst SELFHTML.Forum.initModules aufrufen

              Die Funktion heißt jetzt
              SELFHTML.Forum.Modules.init
              Das Namensraum-Schema versuche ich jetzt mal durchzuhalten.