Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [JS/AJAX] Parelleles Ausführen von Funktionen nicht möglich? (https://www.delphipraxis.net/121404-%5Bjavascript-ajax%5D-parelleles-ausfuehren-von-funktionen-nicht-moeglich.html)

Matze 26. Sep 2008 20:51


[JS/AJAX] Parelleles Ausführen von Funktionen nicht möglich?
 
Hi zusammen,

dass man in Echtzeit parallel nichts ausführen kann, ist mir klar, das gleich vorweg. ;)

Wenn ich eine JS-Funktion in 2 Browserfenstern (egal ob FF+FF oder FF+IE) - mehr oder weniger gleichzeitig - ausführen möchte, dann schlägt das Ausführen der zuletzt aufgerufenen Funktion fehl.

Es erscheint eine JS-Meldung über undefinierte Elemente (bei Aufrufen wie getElementsTagByName(), ...), die einwandfrei funktionieren, wenn man die Funktionen nacheinander aufruft.

Ich vermute, mir fehlen hier die Grundlagen über die Verarbeitung von JS-Code. Läuft das auf einem PC in einer Art gemeinsamen Virtual Machine, sodass sich Variablen gegenseitig überschreiben würden oder sollte dies normalerweise "parallel" funktionieren, da jeder Browser-Tab bzw. jedes Browser-Fenster unabhängig diesen JS-Code abarbeiten?

Denn ich kann mir das absolut nicht erklären und weiß auch nicht, wie ich damit nun umgehen soll.
Wichtig wäre mir, dass mehrere Besucher parallel die Seite benutzen können, nicht dass es dann bei einem geht und die anderen gucken dumm aus der Wäsche.
Gleichzeitig bei einem Benutzer muss es nicht unbedingt gehen. Ich möchte es so haben, wie man das von vernünftig programmierten Seiten erwarten würde.

Grüße

Bernhard Geyer 26. Sep 2008 21:32

Re: [JS/AJAX] Parelleles Ausführen von Funktionen nicht mögl
 
Stimmt das mit der FF-IE? Das dies bei zwei FF oder zwei IE-Instanzen auftreten kann ist sehr gut möglich. JS ist in den aktuellen Browser-Versionen noch eine Performance (und vermutlich auch Parallitäts)krücke. Der erste Browser welcher dieses Problem lösen wird ist vermutlich Google Chrome aber auch FF 3.0 hat hier einiges Verbesserungen in Planung. Siehe auch ein der letzten c't bezüglich Browser-Performancetests.

Matze 26. Sep 2008 22:06

Re: [JS/AJAX] Parelleles Ausführen von Funktionen nicht mögl
 
Hi Bernhard,

FF3? Den nutze ich aber. Und ja, das mit FF-IE stimmt.
Klicke ich den Link, der die JS-Funktion aufruft, zuerst im IE, dann im FF an, meldet mir Firebug (FF-Erweiterung zum JS-Debugging) den Fehler, mache ich es umgekehrt, poppt im IE eine Meldung auf. Mache ich es nacheinander geht alles.

PS: ich sehe gerade, dass es evtl. an mir liegt (erstaunlich, gell). Ich führe die Aktion aus, trage danach eine Art Timeout in die DB ein und erst nach dieser kann die Funktion erneut ausgeführt werden. Innerhalb des Timeouts kracht es, wenn ich das richtig sehe. Dann müsste ich evtl. irgendwie überprüfen, ob es ein HTML-Objeckt gibt, das ich mit JS ansprechen kann.
Ich werde mich mal in der Richtung umsehen. Vielleicht liegt es wirklich daran.

Grüße

Namenloser 26. Sep 2008 22:16

Re: [JS/AJAX] Parelleles Ausführen von Funktionen nicht mögl
 
Zitat:

Zitat von Matze
FF3? Den nutze ich aber.

Ich glaube, er meinte FF 3.1, nicht 3.0. Mit der Version 3.1 soll der Browser nämlich eine neue JavaScript-Engine bekommen. In der Beta funktioniert das wohl schon ganz gut. Die neue Engine untertsützt soweit ich weiß unter anderem JIT-Compiling und hat einen besseren Garbage Collector.

Matze 26. Sep 2008 22:28

Re: [JS/AJAX] Parelleles Ausführen von Funktionen nicht mögl
 
Ok, es scheint an mir bzw. meiner Umsetzung gelegen zu haben. :oops:

Ein schönes Wochenende wünscht
Matze

Bernhard Geyer 27. Sep 2008 07:15

Re: [JS/AJAX] Parelleles Ausführen von Funktionen nicht mögl
 
Zitat:

Zitat von Matze
FF3? Den nutze ich aber.

Ok, 3.1 mit neuer JS-Engine

Zitat:

Zitat von Matze
Und ja, das mit FF-IE stimmt.

Bei dieser Kombi tippe ich darauf das eher an deiner Programmlogik (bezüglich Warten bis DOM verfügbar ist) was nicht klappt. Aber wie ich sehe hast du da was selbst gemerkt.[/quote]

Matze 27. Sep 2008 08:37

Re: [JS/AJAX] Parelleles Ausführen von Funktionen nicht mögl
 
Ja, es lag an meiner Umsetzung. Wo genau weiß ich nicht (DOM könnte sein), aber ich konnte es mit einer zusätzlichen Abfrage lösen.

Danke für deine Antworten. Gerade dein schon fast entsetztes "Stimmt das mit der FF-IE?" hat mich dann doch an mir zweifeln lassen und mich letzten Endes darauf gebracht, dass es an mir liegen muss. ;)

Grüße

Bernhard Geyer 27. Sep 2008 12:44

Re: [JS/AJAX] Parelleles Ausführen von Funktionen nicht mögl
 
Zitat:

Zitat von Matze
Danke für deine Antworten. Gerade dein schon fast entsetztes "Stimmt das mit der FF-IE?" hat mich dann doch an mir zweifeln lassen und mich letzten Endes darauf gebracht, dass es an mir liegen muss. ;)

Hätte mich auch gewunter. Bis auf primitive GDI(+)-Operationen werden FF und IE nix gemeinsam haben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz