Archivlink: javarea.de Forum > JavaScript > insertAdjacentHTML für FireFox ersetzen
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > insertAdjacentHTML für FireFox ersetzen

Pages: [1]

geschrieben von zippy am 18.03.2006 - 17:51
Bin ganz verzweifelt, weil der reload bei nem Minitalkboard im FF nicht funzte und bin jetzt ziemlich sicher, dass dieser die Methode "insertAdjacentHTML" nicht unterstützt, obwohl ich die aktuellste Version installiert habe.

(Skandal! Skandal!)
;)

Es sollen aber keine zusätzlichen Tags eingefügt werden, weil das javascript dauernd die Textlänge des bereits gesendeten Textes zählt, alle paar Sekunden am Server nachschaut, obs ne Differenz gibt, und dann die Differenz nachlädt. Wenn ich den neuen Text mit neuen Tags davorstelle, ergeben diese selbst ne Differenz, weil sie am Server ja nicht vorhanden sind, worauf das ganze System durchdreht...

Noch ne Frage zum FF: Kann man irgendwo ausschalten, dass er in der Titelleiste die URl anzeigt? Hab nämlich (in der Entwicklungsphase eines Projekts) stets ne Menge Fenster der gleichen Seite offen und finde nie auf Anhieb das richtige...


geschrieben von Matneu am 18.03.2006 - 18:05
Zitat
 Original geschrieben von zippy am 18.03.2006 - 17:51
Bin ganz verzweifelt, weil der reload bei nem Minitalkboard im FF nicht funzte und bin jetzt ziemlich sicher, dass dieser die Methode "insertAdjacentHTML" nicht unterstützt, obwohl ich die aktuellste Version installiert habe.

Das würde der FF doch aber melden. Zumindest wenn Du - wovon ich beim "entwickeln" ausgehe - die Javascript-Konsole offen hast.

Zitat
 Noch ne Frage zum FF: Kann man irgendwo ausschalten, dass er in der Titelleiste die URl anzeigt? Hab nämlich (in der Entwicklungsphase eines Projekts) stets ne Menge Fenster der gleichen Seite offen und finde nie auf Anhieb das richtige...

Bei mir steht in jedem Fenster der Titel des jeweils aktuellen Tabs. Kann natürlich sein, dass Du kein title-Tag in Deinen Seiten angegeben hast und dass dann die URL als Titel angegeben wird. Allerdings ist sowas auch nicht valide.

BTW ist suchen manchmal ganz praktisch. Habe da gerade einiges gefunden, u. a. vermutlich eine Lösung.

So far...
Matthias

geschrieben von zippy am 18.03.2006 - 18:29
Ich mach es jetzt mit einer innerHTML-Orgie. Geht, aber ist um etliche Bytes länger.

Nachtrag: Der Vollständigkeit wegen trag ich meine provisorische Lösung nach:

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
function obenauf()
{
var anhaeng=document.form3.newtextpart.value;
var html=parent.showtext.document.getElementById('newtexttag').innerHTML;
var htmlneu=anhaeng+html;
parent.showtext.document.getElementById('newtexttag').innerHTML=htmlneu;
}

statt
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
function obenauf()
{
var anhaeng=document.form3.newtextpart.value;
parent.showtext.document.getElementById('newtexttag').insertAdjacentHTML("AfterBegin", anhaeng);
}

Ein weiteres Problem gabs mit window.history usw.
Natürlich steht history unter dem Window-Objekt. Sinnig ist das aber nur beschränkt. Wenn zB ein Dokument in ein Frame geladen wird, das sich rhythmisch reloaded, dann bezieht das der FF auf das gesamte Fenster.

Habt ihr nen Tipp, wie man mit history einen Frameinhalt reloaded?

Hab alles probiert, von this.history bis framename.history. Vielleicht hab ich bei den vielen Tests eine richtige Variante übersehen, weils eben so viele Tests waren.

Warum das ganze? (Falls es jemanden interessiert)

Eine checkit.php reloadet sich alle XXX Sekunden und holt die Länge einer Textdatei vom Server. Diese läuft in einem iframe. Wenn die Datei am Server gewachsen ist, dann holt die checkit die gewachsene Datei vom Server. Nicht die ganze, sondern bloß die Differenz, und diese Differenz wird oben an die bereits vorhandene showit.htm (in nem anderen Frame) angehängt.

Ist also ne Art Mischung zwischen Chat und Forum.

Wegen der reload-Vorgänge ist natürlich die Verlängerung des scripts durch die innerHTML-Orgie sehr lästig. Dadurch braucht der Leerlauf jetzt ein Megabyte in drei Stunden weniger auf, als vorher.....

NOCH ein Nachtrag:
Ich krieg bei der Suche im besten Forum der Welt immer ne Fehlermeldung.
Leider.
Will ne Session füsilieren, oder so...
NACHTRAG2: Suche geht wieder. Hurra.

geschrieben von zippy am 18.03.2006 - 22:37
Stellt sich natürlich die Frage, ob es sich auszahlt, für ein paar Promille Liebhaber von Freakbrowsern die Bandbreitenbedürfnisse eines Chats zu verdoppeln. Dasselbe gilt für Möglichkeiten in CSS, die ich bei diesen Browsern durch Bildchen ersetzen muss, welche größer sind, als die Filter im Mehrheitssegment.

Bin ja selbst gegen die marktpolitische Position Microsofts, aber wenn man nen Browser in den Markt wirft, sollte der alles können, was der IE kann.

Sich auf irgendwelche (zweifelhafte) Normen auszureden, bringt nix. Normierung ist ein lebendiger Prozess. Mit Logik hat das bloß marginal zu tun.

geschrieben von René am 19.03.2006 - 09:15
Hallo zippy,

probier mal das?

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
function obenauf()
{
	var anhaeng = document.form3.newtextpart.value;

	parent.showtext.document.getElementById('newtexttag').innerHTML += anhaeng;
}


Zitat
 Habt ihr nen Tipp, wie man mit history einen Frameinhalt reloaded?

Wenn du den Frame reloaden willst dann mach das doch mit reload();
http://de.selfhtml.org/javascript/o....htm#reload

geschrieben von zippy am 19.03.2006 - 21:06
Danke Rene!

Das mitm reload() ist gut. Den anderen Tipp kann ich nicht umsetzen, weil der neue Text OBEN auf den bereits vorhandenen gesetzt gehört. Das Talkboard holt sozusagen:
1.) In einstellbaren Intervallen die "checkit.php" vom Server, die bloß ein Formular liefert, in welchem die Länge des Textes am Server steht.
2.) Vergleicht dies mit der Länge der vorhandenen Datei.
3.) Liefert die Differenz, falls vorhanden, an den Server, der darauf
4.) den Teil der Datei bis zur Länge der Differenz in ein weiteres Formular sendet. Dieses wird
5.) Oben an die Zeigedatei angehängt.

Um im Leerlauf möglichst wenig Bandbreite zu verbrauchen, muss also die checkit.php möglichst wenig ausliefern. Deshalb sind aus dieser alle js-Anteile ausgelagert und werden von einer checkit_js.php ezeugt.

Das "Oben-Anhängen" hat den Sinn, dass nicht bei jedem neuen Posting/Chateingabe die gesamte Datei geliefert werden muss. Das passiert nur bei Erstaufruf oder wenn die Besitzer das Board löschen, also eine negative Differenz erscheint.

Ich würde euch das ganze gerne als Codeschnipsel überlassen. Derzeit ists aber noch zu sehr mit meiner UserInnenverwaltung verknüpft. Die erstellt für alle UserInnen eigene Ordner für Bildchen, wo auch die Textdatei drinnen ist, wo der Chatinhalt steht.

Bei Interesse stelle ich ne Version her, die ohne Verwaltung läuft und für alle, die chatten wollen, einen temporären Ordner erstellt. Oder es gibt halt nur einen einzigen Chatroom.


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.