Roman Pfarrhofer: SELFBrowser V1.5

Hallo Leute!

Der SELFBrowser V1.5 ist da (http://195.202.152.140/selfbrowser15.zip)!

Installation: Wie gehabt in einem eigenen ordner entpacken.

Neuigkeiten:

  • ein Inline-Chat, der das gleichzeitige chatten und lesen des forums ermöglicht. Weil der leahcim derzeit nicht geht ist der andere chat gelinkt, wenn man wieder auf den alten umsteigen will einfach in den zeilen 235-240 & 249-252 die kommentare ändern (Die idee und die entwicklung des inlineChats basiert auf Alexander Kiel - danke)
  • einige kleine änderungen der funktionalität die mir aufgefallen sind
  • einige änderungen im source, die die funktionalität nicht beeinträchtigen ("verschönerung") - unter anderem wurden die funktionen gruppiert und besser dokumentiert

Bugs:

  • derzeit keine bekannt, aber ihr werdet sicher alle finden - wie zu ostern *G*

was kommt demnächst?
die möglichkeit einstellungen zu machen und diese zu speichern - damit gibt es dann autoausfüllen der formularfelder und vieles mehr - laßt euch überraschen

Also viel spaß mit der neuen version und

CU Roman

  1. Hallo Roman !

    !!!! selfCommunity RULEZ !!!!
    Grosses Lob nochmal an alle Mitwirkenden am selfBrowser :-)

    ...leider kriege ich aber jetzt bei der 1.5er Version immer JavaScriptErrors (Zeilen 353 bis 365) sobald ich einen Button oder Checkbox anclicken will.

    Gruss von Köln
    Pepe

    1. Hi Pepe!

      !!!! selfCommunity RULEZ !!!!
      Grosses Lob nochmal an alle Mitwirkenden am selfBrowser :-)

      ...leider kriege ich aber jetzt bei der 1.5er Version immer JavaScriptErrors (Zeilen 353 bis 365) sobald ich einen Button oder Checkbox anclicken will.

      Ok fehler müßte ich behoben haben - irgendwo habe ich irgendwann eine kleine funktion liegen gelassen *G*

      einfach nochmal downloadn http://195.202.152.140/selfbrowser15.zip

      müßte jetzt gehen

      CU Roman

      1. N#abend Roman !

        Ok fehler müßte ich behoben haben - irgendwo habe ich irgendwann eine kleine funktion liegen gelassen *G*

        einfach nochmal downloadn http://195.202.152.140/selfbrowser15.zip

        müßte jetzt gehen

        Jep, so isses. Danke

        Bye Pepe

  2. xallo

    wie wärs mit einem zweiten autoreload... für alle anderen sites?

    bis nextens
    xitnalta

    1. aux xallo xelix!

      Habe eine variable im V1.5 die ist xxx *lol*

      wie wärs mit einem zweiten autoreload... für alle anderen sites?

      eine frage - für was soll das gut sein? - bei den postings sehe ich vielleicht noch einen sinn dahinter - weil ja dort antworten dazu kommen - aber für den rest sehe ich keinerlei handlungsbedarf

      bitte mal deinen vorschlag begründen.

      CU Roman

  3. Hallo Roman,
    ich wollte mich nur mal kurz melden um einen Zwischenbericht meiner Arbeit abzuliefern:
    Wir können nun dank Anjte (tausend Dank auch von meiner Seite an unbekannter Stelle *g*) Frameübergreifend den Quellcode "fremder" Seiten auslesen. Für alle die es interessiert, dies geht mit document.nameIframe.document.body.innerHTML. Ob dies auch mit "normalen" Frames geht habe ich noch nicht Probiert, kann ja mal jemand machen (bei der Gelegenheit kann man auch gleich mal testen ob es auch auf dem IE4 funzt).
    Ich bin nun soweit, das ich alle Benötigten Daten (Überschrift, thread-Nr., Datum/Zeit, Name) jeweils in einem eigenen Array stehen habe. Wie immer funzt es offline prima,  nur online gibt es Probleme durch den (relativ) langsamen Datenstrom. Da das später dynamisch erzeugte Forum schon während des Ladevorganges im Frame aufgebaut werden kann (keiner möchte 1-2 Min warten bis es was zu sehen gibt), muß ich das Iframe mehrmals auslesen, bis das </body> -Tag „erscheint" (das </html> -Tag kann wegen innerHTML natürlich nicht mitgelesen werden). Da das Auslesen des Quelltextes in eine Variable relativ viel Zeit in Anspruch nimmt (auf meinen 433MHZ Celeron ca. 0,5 -1 sec.) kann ich dieses nicht zu oft machen da sonst der Bildaufbau ziemlich langsam wird. Zu selten darf ich es aber auch nicht machen da der JS sonst Däumchen dreht und Zeit verschwendet. Und die ist kostbar, da die dynamische Erzeugung auch noch etliches an Rechenpower benötigt. Ich bin da noch am rumgrübeln wie man das optimieren kann (vielleicht hat ja jemand eine Idee). Das optimale (und bestimmt auch schneller) währe, wenn ich direkt die gewünschten tags auslesen könnte ohne jedesmal den gesamten Quellcode „reinzusaugen", hat da jemand eine Idee? Und weil das noch nicht alles ist, muß auch noch zwischendurch gecheckt werden ob überhaupt noch Daten empfangen werden, die Verbindung kann unterbrochen werden oder der User geht mitten im Ladevorgang offline, um die Wartescheife zu beenden. In einem solchen Fall muß aus dem Quellcode die letzte „braubare" Stelle gesucht werden damit die Seite sauber aufgebaut werden kann, bzw. damit der JS nicht abschmiert. Wie ihr seht ist die größte Arbeit das Abfangen von möglichen Fehlern. Sitze heute schon 10 Stunden am Rechner, habe 4 Liter Kaffee und eine halb kalte Pizza intus und so langsam fangen die Augenlieder an zu zucken *g*. Egal, es macht Spaß. Ich werde dann mal die nächsten paar KB Javascript eintippen gehen.....

    Was haltet ihr von einer Sprachausgabe für Sehbehinderte (vorlesefunktion)  bzw. gesprochene Meldungen wie „Auf ein Thread von Ihnen wurde geantwortet" mit automatischem scrolling zur entsprechenden Stelle etc. ?. Da wir alle Daten offline liegen haben spielt die Größe und Anzahl der Wavs (werden wohl eher aus werden) keine Rolle.

    Man liest und hört sich (meine Augen können im Moment eh keine Gesichter mehr erkennen, nur noch Zahlen und Buchstaben, alles andere sind nur noch Reflexe *lol*)

    Grüße an alle
    Thomas

    1. Hallo Forum,

      Wir können nun dank Anjte (tausend Dank auch von meiner Seite an unbekannter Stelle *g*) Frameübergreifend den Quellcode "fremder" Seiten auslesen.

      Dies ist ein gefährliches Werkzeug und ich möchte alle bitten, es nicht zu mißbrauchen.

      Mittels .hta erlaubt man nicht nur den ungeschützten Zugriff auf den Rechner, sondern man kann damit auch domainübergreifend Mißbrauch betreiben. Mir persönlich gefällt die Offenlegung der Lösung gar nicht.

      Viele Grüße

      Antje

      PS: Thomas, bezüglich deiner anderen Fragen mache ich mir mal Gedanken.

      1. Hallö Antje,

        Mittels .hta erlaubt man nicht nur den ungeschützten Zugriff auf den Rechner, sondern man kann damit auch domainübergreifend Mißbrauch betreiben. Mir persönlich gefällt die Offenlegung der Lösung gar nicht.

        Kann man damit auch Daten auf der FP speichern ? Alle Versuche in diese Richtung brachten bisher immer eine AktivX Sicherheitsabfrage. Ich frage deshalb, da ich eine Idee habe wie man das Laden des Forums um BIS zum 100! - fachen zu beschleunigen. Es werden dann nur die threads geladen die seit dem letzten Besuch dazugekommen sind (sind ja nur ca. 100Byte pro Eintrag). Dafür müßten wir aber die "alten" Threads lokal speichern können.
        das Problem mit dem Auslesen habe ich schon gelößt. So kann ich mit document.nameIframe.document.getElementsByTagName("a")[20] z.B. den Inhalt des 20sten <a> tag auslesen. Damit sind auch alle meine Time-Probleme gelößt, da ich einfach frech drauf los lesen kann. Und wenn ein angesprochenes tag noch nicht geladen ist kann ich mit der try - Funktion die JS-Fehlermeldung abfangen.

        try   {
        variable = document.nameIframe.document.getElementsByTagName("a")[20] }
        catch {}

        Ist schon ein geiles Ding der IE5.....

        Ich geh dann mal weitertüffteln....

        Grüße
        Thomas

        1. Hallo Thomas

          Es werden dann nur die threads geladen die seit dem letzten Besuch dazugekommen sind (sind ja nur ca. 100Byte pro Eintrag). Dafür müßten wir aber die "alten" Threads lokal speichern können.

          Ich habe es nicht ausprobiert und wenn ich die Lösung wüßte, würde ich sie ehrlich gesagt auf keinen Fall verraten.
          Eigentlich müßten nicht die alten Threads (sind ja im Cache wenn gelesen) sondern nur deren Adressen und eventuell ein paar Einstellungen gespeichert werden.
          Dies läßt sich vielleicht über einen Umweg lösen ohne einen schwerwiegenden Eingriff ins Filesystem. Ich denke mal darüber nach.

          Noch einen Hinweis Thomas, mit jeder Entwicklung übernimmt man eine Verantwortung. Es ist nicht immer gut jede Lösung offenzulegen, denn es findet sich immer jemand der sie mißbraucht. Denke mal darüber nach wieviele ahnungslose User eine .hta im Netz öffnen und damit ihren Rechner offenlegen?

          Viele Grüße

          Antje

          1. Eigentlich müßten nicht die alten Threads (sind ja im Cache wenn gelesen) sondern nur deren Adressen und eventuell ein paar Einstellungen gespeichert werden.
            Dies läßt sich vielleicht über einen Umweg lösen ohne einen schwerwiegenden Eingriff ins Filesystem. Ich denke mal darüber nach.

            So meinte ich es auch, wir brauchen nur den Namen, datum/Zeit, Überschrift und die Thread-Nr. Speichern. Rechne mal für jeden Eintrag mit 100Byte, als ca. 15-20KB die gespeichert werden müßten.

            Noch einen Hinweis Thomas, mit jeder Entwicklung übernimmt man eine Verantwortung. Es ist nicht immer gut jede Lösung offenzulegen, denn es findet sich immer jemand der sie mißbraucht. Denke mal darüber nach wieviele ahnungslose User eine .hta im Netz öffnen und damit ihren Rechner offenlegen?

            Ich denke mal wer Schaden anrichten möchte, der macht es auch und er bräuchte eh nur mal in den Quelltext des Browsers zu schauen. Auf der anderen Seite sollte man die Leute auch über solche Gefahren Aufklären und das geht am besten wenn man zeigt wie diese funzen....Wieviele Leute deaktivieren JS und/oder Cookies, ohne zu wissen wie die angeblichen Sicherheitslöcher aussehen -ich auch nicht. Wenn man die Gefahren aber kennt, kann man damit viel besser umgehen und man weiß worauf man achten muß. Spontan fällt mir auch kein Schaden ein den man mit dem Auslesen bzw. beschreiben von "fremden" Seiten und/oder Formularen anrichten könnte ?! Vieleicht liege ich auch falsch mit meiner Meinung. Ich habe es auch nur gut mit dem Rest der Welt gemeint, warum sollen nur wie wissen wie man "das letzte" aus nen Browser rausholt.

            Es währe schön wenn es eine Lösung für die Lokale speicherung finden würdest.

            Grüße
            Thomas

            1. Hallo Thomas!

              Ich denke mal wer Schaden anrichten möchte, der macht es auch und er bräuchte eh nur mal in den Quelltext des Browsers zu schauen.

              »»

              Aber muss man ihm deshalb gleich die "Waffe" in die Hand legen?
              Zumindest den Teil des Quelltextes kann man "coden" damit ist ein wenig mehr "sicherheit" gebeben. (Es geht nicht um Profis, die das erkennen und auch wissen was damit verbunden ist)

              »»Auf der anderen Seite sollte man die Leute auch über solche Gefahren Aufklären und das geht am besten wenn man zeigt wie diese funzen....
              »»

              So nach dem Motto: "mit dem Feuer zu spielen ist gefährlich, hier sind die Zündhölzer"?
              Es gibt definitiv Sachen, wo man sich lieber an dem "was *man* nicht weiss, macht *ihn* nicht heiss" orientiert.

              »»Spontan fällt mir auch kein Schaden ein den man mit dem Auslesen bzw. beschreiben von "fremden" Seiten und/oder Formularen anrichten könnte ?!
              »»

              Wirklich nicht? Wie ist es mit dem Darstellen von Fremden Inhalten in der eigenen Seite, du kannst eine fremde Seite auslesen und deren Inhalt umformatiert als deines darstellen. Nur um mal ein "harmloseres" Beispiel zu nenen.

              »»Ich habe es auch nur gut mit dem Rest der Welt gemeint, warum sollen nur wie wissen wie man "das letzte" aus nen Browser rausholt.
              »»

              Du weiss wie das ist: der Weg in die Hölle ist mit gutem Willen gepflastert.
              Ich denke man soll es zuerst abwiegen, was wiegt mehr: jedem darzulegen wie Missbrauch betrieben werden kann und den Leuten selbst überlassen ob sie es tun oder nicht, oder etwas nicht veröffentlichen und damit eine handvoll Leute "beleidigen" (die früher oder später selbst auf die Lösung gekommen wären)

              Grüße
              Thomas

            2. Hallo Thomas,

              So meinte ich es auch, wir brauchen nur den Namen, datum/Zeit, Überschrift und die Thread-Nr. Speichern. Rechne mal für jeden Eintrag mit 100Byte, als ca. 15-20KB die gespeichert werden müßten.
              Es währe schön wenn es eine Lösung für die Lokale speicherung finden würdest.

              Folgende einfache Lösung allerdings mit Cachebeschränkung hätte ich anzubieten. Schlicht und einfach die Verwendung von cookies. Offline funktionieren die auch im IE5. Nachteil: die Länge ist auf 5kb beschränkt. Möglich ist es aber, auf Seiten, die aus einem anderen Verzeichnis in ein iframe geladen werden ebenfalls Cookies abzulegen. Bedingung ist aber, das kein Speicherüberlauf erzeugt wird. Im Offlinemodus werden beim Setzen von Cookies weitgehend interne Einstellungen übergangen.

              Viele Grüße

              Antje

              1. Hi Antje,

                Folgende einfache Lösung allerdings mit Cachebeschränkung hätte ich anzubieten. Schlicht und einfach die Verwendung von cookies. Offline funktionieren die auch im IE5. Nachteil: die Länge ist auf 5kb beschränkt. Möglich ist es aber, auf Seiten, die aus einem anderen Verzeichnis in ein iframe geladen werden ebenfalls Cookies abzulegen. Bedingung ist aber, das kein Speicherüberlauf erzeugt wird. Im Offlinemodus werden beim Setzen von Cookies weitgehend interne Einstellungen übergangen.

                5KB reichen evt. da man ja nicht von jedem Posting den Kopftitel abspeichern muß (nimmt am meisten Platz wech). Innerhalb eines thread ist dieser zu 90% identisch und man könnte mit etwas tricksen viel Platz sparen. Roman hat was geschrieben das er das mit der cfg-Datei hinbekommen hat, mal sehen was es damit auf sich hat. Ich habe mal vor langer Zeit mehrere Cookies auf einer Seite gesetz, allerdings war das ne Serverlösung, geht das auch mit JS?

                Grüße
                Thomas

                1. 5KB reichen evt. da man ja nicht von jedem Posting den Kopftitel abspeichern muß (nimmt am meisten Platz wech). Innerhalb eines thread ist dieser zu 90% identisch und man könnte mit etwas tricksen viel Platz sparen. Roman hat was geschrieben das er das mit der cfg-Datei hinbekommen hat, mal sehen was es damit auf sich hat. Ich habe mal vor langer Zeit mehrere Cookies auf einer Seite gesetz, allerdings war das ne Serverlösung, geht das auch mit JS?

                  Habe ich nicht getestet. Fakt ist aber sobald die 5 kb überschritten werden werden alle Cookies auf Null gesetzt. Ich habe es nur mit verschiedenen Verzeichnissen versucht.

                  Testergebnisse:
                  Seite mit Cookie und Seite mit Cookies aus untergeordneten Verzeichnis: beträgt die Gesamtgröße 5 kb werden alle Cookies auf 0 gesetzt.

                  Seite mit Cookie und Seite mit Cookie aus übergeordnetem Verzeichnis: hat ein Cookie die Größe 5kb
                  werden alle Cookies auf Null gesetzt.

                  Auf der anderen Seite habe ich von Cookies nicht sehr viel Ahnung, habe nie gedacht mich jemals damit beschäftigen zu müssen.
                  Vorschlag zur Textbegrenzung: Häufig auftretende Wörter und Namen einfach mit einem Coding belegen.

                  Viele Grüße

                  Antje

        2. Hi Thomas,

          Kann man damit auch Daten auf der FP speichern ?

          Ja. Ich arbeite gerade an eine Lösung, wo die Browserkonfiguration bzw. Userdaten in eine .cfg-Datei auf die Festplatte gespeichert werden. Bislang geht es aber nur, Textdateien zu speichern, Binärcode nicht.

          Deshalb ist es sicherlich machbar, das Forum in eine Art Cache-Datei auf die FP abzulegen, und bei Bedarf auslesen. Dies ist aber nicht ohne erheblichen Programmieraufwand zu realisieren, und die Frage ist, ob wir dadurch so viel gewinnen. Was meint ihr andere dazu?

          Wenn du dir das Schreiben und Auslesen von lokale Dateien beibringen willst: http://msdn.microsoft.com/scripting/

          Gruß,
          UlfL

      2. Hi Antje,

        Wir können nun dank Anjte (tausend Dank auch von meiner Seite an unbekannter Stelle *g*) Frameübergreifend den Quellcode "fremder" Seiten auslesen.

        Dies ist ein gefährliches Werkzeug und ich möchte alle bitten, es nicht zu mißbrauchen.

        Vielen Dank für deine Mitarbeit beim Browser :-)
        Was der Zugriff auf andere Domänen betrifft, ist dies nur im HTA-modus möglich, und durchaus bei Microsoft dokumentiert. HTAs sind als .EXE-Dateien zu betrachten, und deshalb erhält man ein Warnhinweis, wenn man im Internet auf ein Link klickt, der auf ein HTA führt.

        Mittels .hta erlaubt man nicht nur den ungeschützten Zugriff auf den Rechner, sondern man kann damit auch domainübergreifend Mißbrauch betreiben.

        Genau wie bei jede .EXE auch... Und was verstehst du unter Missbrauch? Das Einfügen fremder Inhalte auf der eigenen Seite ist schliesslich mit vielen anderen Techniken auch machbar, Frames ist nur eins davon.

        Liebe Grüsse,
        UlfL

        1. Hi Ulf!

          Vielen Dank für deine Mitarbeit beim Browser :-)
          Was der Zugriff auf andere Domänen betrifft, ist dies nur im HTA-modus möglich, und durchaus bei Microsoft dokumentiert. HTAs sind als .EXE-Dateien zu betrachten, und deshalb erhält man ein Warnhinweis, wenn man im Internet auf ein Link klickt, der auf ein HTA führt.

          Genau wie bei jede .EXE auch... Und was verstehst du unter Missbrauch? Das Einfügen fremder Inhalte auf der eigenen Seite ist schliesslich mit vielen anderen Techniken auch machbar, Frames ist nur eins davon.

          zb beispiel kann man es relativ einfach wie wir es auch machen die fremde site auslesen und "nur" den inhalt im complett eigenen design anpassen - jetzt stell dir noch mal vor - der inhalt dieser anderen website kommt aus einer DB - man könnte die kompletten inhalte (ständig genauso aktuelle wie auf dem anderen server) als seinen eigenen verkaufen und keiner merkts - denke einmal an die teleauskunft - und ein einzelner kann mit ein bißchen programmieren die ganzen daten als seine verkaufen

          CU Roman

          1. Hi Roman,

            na, wieder von der Arbeit zurück ins Entwicklerteam? *G*

            zb beispiel kann man es relativ einfach wie wir es auch machen die fremde site auslesen und "nur" den inhalt im complett eigenen design anpassen - jetzt stell dir noch mal vor - der inhalt dieser anderen website kommt aus einer DB - man könnte die kompletten inhalte (ständig genauso aktuelle wie auf dem anderen server) als seinen eigenen verkaufen und keiner merkts - denke einmal an die teleauskunft - und ein einzelner kann mit ein bißchen programmieren die ganzen daten als seine verkaufen

            Ja, da hast du vollkomen Recht. Aber schliesslich geht das auch mit jede serverseitige Skriptsprache (ASP, PHP, Java) auch, Inhalte heranzusaugen und zu verarbeiten. Und da jetzt diese Technik auch clientseitig verfügbar ist, ist doch was gutes, oder? :-) Man muss ja nicht gleich jeden misstrauen. Und HTAs werden im Internet immer noch Seltenheiten bleiben, ihr Einsatzgebiet ist in erster Linie im Intranet oder auf vereinzelte private Desktops. Na ja.

            Was meine Aufgaben angeht:
            Das Speichern und Laden von Userdaten im/aus .cfg-Datei ist abgeschlossen. Als nächstes steht das Einfügen der Daten in den entsprechenden Textfeldern von SelfHTML. Oder besser gesagt: das Einfügen als solches ist kein Problem, ist bereits gelöst. Aber ich suche nach eine Lösung, wie ich die Daten nur *einmal* einfügen kann, danach soll die Funktion ruhen, bis die nächste Seite geöffnet wird. Hat jemand ein Idee?

            Bin nur bis 18:00 Uhr hier, sonst bis morgen.
            Gruß,
            UlfL

            1. Hi Ulf!

              ...aber ich suche nach eine Lösung, wie ich die Daten nur *einmal* einfügen kann, danach soll die Funktion ruhen, bis die nächste Seite geöffnet wird. Hat jemand ein Idee?

              Ulf ich kann das ganz einfach machen, wenn du willst

              ansonst brauchst du eine globale variable wo der url gespeichert wird - wenn du die felder ausfüllst - um nicht mehrfach zu überschreiben einfach immer auf die url fragen - nur ausfüllen wenn !=

              das ganze kannst in dem aufruf machen der das iframe überwacht, ob sich das iframe geändert hat gegenüber dem input url

              wenn du dort dann noch das if einfügst welches ich in der funktion verwende wo ich den formatierten url einfüge (einfach nach dem zeichen µ suchen) - fragst du auch schon darauf ab ob in dieser seite je diese felder enthalten sein werden - es sind ja nur 3

              CU roman

              Tut mir leid das das jetzt zuspät war - ich werde es dir aber noch nach hause mailen

            2. Hallö Roman,

              Was meine Aufgaben angeht:
              Das Speichern und Laden von Userdaten im/aus .cfg-Datei ist abgeschlossen. Als nächstes steht das Einfügen der Daten in den entsprechenden Textfeldern von SelfHTML. Oder besser gesagt: das Einfügen als solches ist kein Problem, ist bereits gelöst. Aber ich suche nach eine Lösung, wie ich die Daten nur *einmal* einfügen kann, danach soll die Funktion ruhen, bis die nächste Seite geöffnet wird. Hat jemand ein Idee?

              Ich habe mir darüber auch schon mal Gedanken gemacht. Was hältst du davon wenn wir ein Globales Array anlegen und dies auf alle Beteiligten „aufteilen". Der eine möchte die Optionsdaten abspeichern, ein anderer z.B. die Favoriten und ein dritter (ich g) die Thread-Tittel und Nr.. So könnte man z.B. sagen das die ersten 1000 Indexes dem einen und die nächsten 1000 dem anderen „gehören". Nun wird beim Starten des Browsers  die .cfg-Datei ausgelesen und in das Array geschrieben. Beim schließen des Browsers wird dann das Array wieder in die .cfg-Datei geschrieben. Während der Sitzung haben dann ALLE Scripte von ALLE Beteiligten auf ALLE Daten zugriff und kann diese lesen oder schreiben. Diese Lösung halte ich für ziemlich offen, transparent und leicht handhabbar. Ist die .cfg-Datei von der Größe her beschränkt?
              Bis danndann
              Thomas

              1. Nachtrag:
                Die Sache mit dem Array hat noch einen Großen Vorteil. Wir können untereinander darüber wichtige Daten austauschen (unabhängig vom Speichern). Ich benötige z.B. für die Erzeugung des Forums Informationen wie etwa „nur eigene threads anzeigen", „nur neue threads anzeigen", oder „nur seit dem letzten Besuch geänderte threads anzeigen". Diese Funktionen werden zum einen in den Optionen gespeichert und zum anderen kann man sie über einen Button anwählen (denke ich mal). Da aber das Bedienungsinterface von jemand anderen prog. wurde, bräuchte er diese Infos nur in das Array zu schreiben und „meine" function ohne Parameter aufrufen, einfacher geht es nicht. Das selbe gilt für denjenigen der das Optionsmenü prog. Er braucht dann nur die Optionsdaten ins Array schreiben und basta. Jeder kann dann von jeder Stelle aus darauf zugreifen. Voraussetzung ist aber das peinlichst genau dokumentiert wird welcher Wert unter welchen Index gespeichert ist, das sollte aber das kleinste Problem sein. Wenn wir dann noch eine save-function anlegen, kann auch jeder zu jeden Zeitpunkt die Daten speichern (falls erforderlich, da evt. manche Daten sofort gespeichert werden müssen wie die Optionen).
                Grüße Thomas

    2. Hi Thomas!

      ich wollte mich nur mal kurz melden um einen Zwischenbericht meiner Arbeit abzuliefern:
      Wir können nun dank Anjte (tausend Dank auch von meiner Seite an unbekannter Stelle *g*)

      auch tausend dank an dich thomas!

      Frameübergreifend den Quellcode "fremder" Seiten auslesen. Für alle die es interessiert, dies geht mit [ZENSIERT]. Ob dies auch mit "normalen" Frames geht habe ich noch nicht Probiert, kann ja mal jemand machen (bei der Gelegenheit kann man auch gleich mal testen ob es auch auf dem IE4 funzt).

      Bin mit dem veröffentlichen von dem auch nicht ganz einverstanden - am besten hut drüber - im Script wird diese funktion auf jeden fall versteckt - die antje hat dazu eine gute lösung - und jetzt kein wort mehr öffentlich darüber.

      Ich bin nun soweit, das ich alle Benötigten Daten (Überschrift, thread-Nr., Datum/Zeit, Name) jeweils in einem eigenen Array stehen habe. Wie immer funzt es offline prima,  nur online gibt es Probleme durch den (relativ) langsamen Datenstrom. Da das später dynamisch erzeugte Forum schon während des Ladevorganges im Frame aufgebaut werden kann (keiner möchte 1-2 Min warten bis es was zu sehen gibt), muß ich das Iframe mehrmals auslesen, bis das </body> -Tag „erscheint" (das </html> -Tag kann wegen innerHTML natürlich nicht mitgelesen werden). Da das Auslesen des Quelltextes in eine Variable relativ viel Zeit in Anspruch nimmt (auf meinen 433MHZ Celeron ca. 0,5 -1 sec.) kann ich dieses nicht zu oft machen da sonst der Bildaufbau ziemlich langsam wird. Zu selten darf ich es aber auch nicht machen da der JS sonst Däumchen dreht und Zeit verschwendet.

      Habe mir das problem mal durch den kopf gehen lassen - wir können zwar einen ideal wert finden - dieser gilt aber immer nur für den rechner mit der übertragungsrate die er im moment hat - darum können wir keine statische variable dafür nehmen:

      zwei lösungsansätze dafür: wir machen einen standardtimeoutwert und der user kann ihn für sich seblst anpassen oder wir passen nach jedem durchlauf den timeout automatisch an

      das stelle ich mir ungefähr so vor: man nimmt die länge des ausgelesen strings und teilt ihm durch den dazugehörigen timeout - diesen übertragen bytes pro millisec. können wir herauf oder herabsetzen um das optimale zusammenspiel zu erreichen - um das ganze runder zu machen sollten wir vielleicht auch mit einem durchschnitt der letzten drei werte arbeiten, damit wir gleichmäßig werte haben und nur weil irgendwelche TCP/IP-Packte nochmal gesendet werden mußten - nicht gleich einen völlig verschobnen wert haben.

      Und die ist kostbar, da die dynamische Erzeugung auch noch etliches an Rechenpower benötigt. Ich bin da noch am rumgrübeln wie man das optimieren kann (vielleicht hat ja jemand eine Idee). Das optimale (und bestimmt auch schneller) währe, wenn ich direkt die gewünschten tags auslesen könnte ohne jedesmal den gesamten Quellcode „reinzusaugen", hat da jemand eine Idee? Und weil das noch nicht alles ist, muß auch noch zwischendurch gecheckt werden ob überhaupt noch Daten empfangen werden, die Verbindung kann unterbrochen werden oder der User geht mitten im Ladevorgang offline, um die Wartescheife zu beenden. In einem solchen Fall muß aus dem Quellcode die letzte „braubare" Stelle gesucht werden damit die Seite sauber aufgebaut werden kann, bzw. damit der JS nicht abschmiert. Wie ihr seht ist die größte Arbeit das Abfangen von möglichen Fehlern. Sitze heute schon 10 Stunden am Rechner, habe 4 Liter Kaffee und eine halb kalte Pizza intus und so langsam fangen die Augenlieder an zu zucken *g*. Egal, es macht Spaß. Ich werde dann mal die nächsten paar KB Javascript eintippen gehen.....

      Ah da ist noch einer auf den geschmack gekommen *g* habe ja auch am fr auf sa druchprogrammiert und am samstag gleich den ganzen tag weiter - wie gesagt macht irre spaß und man kann irgendwie süchtig werden - nein nciht nur nach koffein *G*

      Was haltet ihr von einer Sprachausgabe für Sehbehinderte (vorlesefunktion)  bzw. gesprochene Meldungen wie „Auf ein Thread von Ihnen wurde geantwortet" mit automatischem scrolling zur entsprechenden Stelle etc. ?.

      vorlesefunktion - nein - viel zu aufwendig und wenn zu holprig - oder kennt jemand ein fertiges tool was gratis und am besten noch open-source ist?

      gesprochene meldungen - vielleicht, wenn wir eine schne stimme finden - meine auf jeden fall nicht *G* - aber vielleicht tuns fürn anfach auch alerts mit sounds oder sowas

      Da wir alle Daten offline liegen haben spielt die Größe und Anzahl der Wavs (werden wohl eher aus werden) keine Rolle.

      Stimmt - irgendwann haben wir mehr MB verbraucht als M$ für seinen browser *G*

      Man liest und hört sich (meine Augen können im Moment eh keine Gesichter mehr erkennen, nur noch Zahlen und Buchstaben, alles andere sind nur noch Reflexe *lol*)

      Ich weiß jetzt nicht wo ich das mal erlebt habe - hmm wann war das blos.... glaube das ist gar nicht solange her *G*

      Na dann gehe ich auch mal ins bett

      CU Roman

      P.S.: noch viel spaß heute nacht

      1. Noch was kures Thomas!

        Das wir die ganzen bilder aus dem forum wie zB<img src="http://www.teamone.de/selfhtml/x3.gif" alt=""> lokal ablegen ist eh klar - sind dann wieder ein paar kb

        Hmm mir fällt da gerade was ein - man kann doch die bilder deaktivieren - kann man das irgendwie steuern ohne direkt in die registry eingreifen zu müssen - würden wir uns wieder ladezeit sparen - vielleicht hat auch hier jemand eine glänzende idee

        CU Roman

        P.S.: Aber jetzt gehe ich wirklich ins bett - (Formel1) no comment

        1. Hi Roman,

          Noch was kures Thomas!

          Das wir die ganzen bilder aus dem forum wie zB<img src="http://www.teamone.de/selfhtml/x3.gif" alt=""> lokal ablegen ist eh klar - sind dann wieder ein paar kb

          Hmm mir fällt da gerade was ein - man kann doch die bilder deaktivieren - kann man das irgendwie steuern ohne direkt in die registry eingreifen zu müssen - würden wir uns wieder ladezeit sparen - vielleicht hat auch hier jemand eine glänzende idee

          Warum mit Grafiken geizen (sowas macht man doch nur online)? Wir haben doch Platz ohne Ende und könnten die ganze Sache richtig schön mit unkomprimieten Grafiken machen....Schau doch mal bei http://www.neoplanet.com/cgi-bin/skinViewer.pl vorbei, so müßte der Browser eines Tages aussehen.....Und ob der Browser nun 100kB oder 1MB oder 2MB groß ist, ist doch wohl Wurst. Wenn ich mir mal überlege was ich mir schon alles runtergeladen habe was im Gegensatz zum Browser keinen Nährwert hat....

          fröhliches Schaffen
          Thomas

          1. Hi Thomas!

            Warum mit Grafiken geizen (sowas macht man doch nur online)? Wir haben doch Platz ohne Ende und könnten die ganze Sache richtig schön mit unkomprimieten Grafiken machen....Schau doch mal bei http://www.neoplanet.com/cgi-bin/skinViewer.pl vorbei, so müßte der Browser eines Tages aussehen.....Und ob der Browser nun 100kB oder 1MB oder 2MB groß ist, ist doch wohl Wurst. Wenn ich mir mal überlege was ich mir schon alles runtergeladen habe was im Gegensatz zum Browser keinen Nährwert hat....

            da hast du mich falsch verstanden  - ich meinte das hoch ironisch - natürlich sollen wir die grafiken lokal speichern - die paar pngs - ist doch ein witz

            CU Roman

      2. huhu Roman,

        Bin mit dem veröffentlichen von dem auch nicht ganz einverstanden - am besten hut drüber - im Script wird diese funktion auf jeden fall versteckt - die antje hat dazu eine gute lösung - und jetzt kein wort mehr öffentlich darüber.

        Ok,Ok, ich beuge mich der undmokratischen Mehrheit *lool* Ab heute sag ich nix mehr *g*

        Habe mir das problem mal durch den kopf gehen.... >

        Vielen dank für deine Mühe Roman, aber ich habe das Problem (fast) gelöß. Wie ich schon gepostet hatte, kann ich auch direkt auf die tages im Iframe zugreifen (bzw. auslesen). Wenn das tag noch nicht geladen ist, fange ich die Fehlermeldung mit try ab und starte zwei Timeout`s. Das erste wiederholt nach 100ms den Leseversuch und das zweite bricht nach 1Min ab, es sei denn das erste konnte den tag (bzw. neue Daten) laden.
        Allerding habe ich noch Probleme mit dem Auslesen. Da im
        thread-Kopf das Datum sich nicht innerhalb eines tag befindet, kann ich es auch nicht auslesen. Da sitze ich an einer Lösung mit <zensiert>.innerText anstelle von <zensiert>.innerHTML.
        Das größte Problem ist aber die Einrücktiefe der threads festzustellen. Dies wir im Forum mit dem <ul> tag realisiert. Ich kann zwar den Inhalt eines tag auslesen, aber nicht feststellen ob an einer bestimmten Stelle ein tag (z.b <ul>) überhaupt vorhanden ist. Und dann sind die Dinger auch noch verschachtelt....Aber wie heißt es so schön "Probleme sind da um gelößt zu werden".

        gesprochene meldungen - vielleicht, wenn wir eine schne stimme finden - meine auf jeden fall nicht *G* - aber vielleicht tuns fürn anfach auch alerts mit sounds oder sowas

        Um die Stimme kümmer ich mich, ich kenne da jemand (entfernt)der ist Sprecher beim Fernsehen (z.B. Dokumentationen, Berichte etc.)

        ich mach mal weiter....
        Thomas

    3. Hi Thomas,

      Wir können nun dank Anjte (tausend Dank auch von meiner Seite an unbekannter Stelle *g*) Frameübergreifend den Quellcode "fremder" Seiten auslesen. Für alle die es interessiert, dies geht mit document.nameIframe.document.body.innerHTML. Ob dies auch mit "normalen" Frames geht habe ich noch nicht Probiert, kann ja mal jemand machen (bei der Gelegenheit kann man auch gleich mal testen ob es auch auf dem IE4 funzt).

      Dies funktioniert nur im HTA-Modus. Deshalb sehe ich hier keine Gefahr, diese Methode zu veröffentlichen. Ich möchte nicht eine Riesendiskussion lostreten über dieses Thema, aber ich sehe kein Grund hier unzählige Gefahren zu wittern und dies als ein Geheimnis des SELFBrowser-Projekts zu betrachten. Schliesslich machen wir was nützliches aus dieser Zugriffsmethode, vielleicht wollen andere in ähnliche Situationen dies auch tun.

      Ich bin nun soweit, das ich alle Benötigten Daten (Überschrift, thread-Nr., Datum/Zeit, Name) jeweils in einem eigenen Array stehen habe.

      Bin gespannt, was du da hinbekommst! *g*

      Gruß,
      UlfL