• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Von 2 Script(chen) 1 machen - Hilfe bitte!

geogott

New member
Hallo liebe JS-ler,

ich brauche euere Hilfe. Es geht um Aufenthaltsdauererfassung bei PIWIK.

Hier habe eine Lösung gefunden

https://www.gservon.de/0-sekunden-besuchsdauer-problem-bei-piwik-beheben/#comment-384

aber ich möchte die 2 Scripte vereinen. Leider ich kenne nicht ein mal der Syntakt von JS, ich hoffe auf euere Hilfe.

Script 1:

Code:
<script type="text/javascript">
   window.onbeforeunload = trackUnloadPage;
   function trackUnloadPage()
   {
      _paq.push(['trackPageView','Verlassen']);
   }
</script>

Script 2:

Code:
<script type="text/javascript">
   window.onunload = trackUnloadPage;
   function trackUnloadPage()
   {
      _paq.push(['trackPageView','Verlassen']);
   }
</script>

Meine Vorstellung

Code:
<script type="text/javascript">
  IF (window.onunload==TRUE)
  window.onunload = trackUnloadPage;
  BREAK;
  ELSEIF (window.onbeforeunload==TRUE)
  window.onbeforeunload = trackUnloadPage;
  BREAK;
  ENDIF

function trackUnloadPage()
   {
      _paq.push(['trackPageView','Exit']);
   }
</script>

So viel habe ich schon mitgekriegt, dass man ein Script nicht vorzeitig beenden kann. Kann man eine IF-Anweisung mit BREAK verlassen? Es wäre wichtig, wenn der Funktion schon ausgefühert ist.

Danke für euere Hilfe.

LG
geogott
 
Warum willst du die überhaupt beide ausführen? onbeforeunload und onunload feuern in sehr kurzem Abstand und liefern somit ziemlich die gleiche Information.

Wenn du beide Eventlistener setzen willst, kannst du das so machen:
Code:
window.onbeforeunload = window.onunload = trackUnloadPage;
Dein Konstrukt mit dem if-else ergibt keinen Sinn.

So viel habe ich schon mitgekriegt, dass man ein Script nicht vorzeitig beenden kann.
Was meinst du damit genau?
Kann man eine IF-Anweisung mit BREAK verlassen?
Nein, aber durch geschickte Programmlogik braucht man das auch nicht und in deinem Pseudocode ist das break auch überflüssig.
Es wäre wichtig, wenn der Funktion schon ausgefühert ist.
Ich verstehe diesen Satz nicht.
 
Hallo kkapsner,

danke für deine Hilfe, ich versuche es mit deinem Vorschlag.

Meine vorstellung war: beide Event zu prüfen, da die können nicht gleichzeitig auftreten. Wenn eine von beiden zutrifft: Funktion ausführen und die IF Anweisung verlassen.
Eigentlich hätte man den Script verlassen müssen, aber das geht nicht.

Also ich versuche es jetzt so

HTML:
<script type="text/javascript">
   window.onbeforeunload = window.onunload = trackUnloadPage;
   function trackUnloadPage()
   {
      _paq.push(['trackPageView','Verlassen']);
   }
</script>

Danke noch mal!
LG
geogott
 
Zuletzt bearbeitet von einem Moderator:
danke für deine Hilfe
Bitte - gern geschehen.
da die können nicht gleichzeitig auftreten.
Gleichzeitig treten die nicht auf, aber direkt hintereinandern. Vor einem onunload kommt immer ein onbeforeunload. Somit liefern die beiden ziemlich die gleiche Information.
die IF Anweisung verlassen.
Eigentlich hätte man den Script verlassen müssen, aber das geht nicht.
K.A. was du damit meinst...
 
Zurück
Oben