0 votes
in SoSci Survey (dt.) by s093808 (180 points)

Hallo Zusammen,

Ich suche den Code mit dem man die automatische Weiterleitung nach Ende des Videos auf eine bestimmte Fragebogenseite veranlasst.

Bisher verwende ich diesen Code um auf die nächste Fragebogenseite zu gelangen:

    <script type="text/javascript">
<!--

var video = document.getElementById("stimulus");

SoSciTools.attachEvent(video, "ended", SoSciTools.submitPage);


</script>

Ich habe versucht SetNextPage irgendwie in den Code einzubinden um zu definieren zu welche Seite automatisch weitergeleitet wird, leider wusste ich nicht wie genau der Code eingebunden werden muss.

Wichtig ist auch, dass wenn jemand den 'weiter' Knopf vor Ende des Videos klickt (der Weiter Knopf wird nur eine kurze Zein eingeblendet sein), er ganz normal auf die nächste Fragebogenseite gelangt und er nur bei der automatischen Weiterleitung nach Ende des Videos auf eine bestimmte Fragebogenseite weitergeleitet wird.

Es wäre super, wenn mir jemand zeigen könnte wie man das löst.

Vielen lieben Dank

by s263357 (100 points)
Hallo,

ich habe ein ähnliches Problem. Ich habe ein Random Generator in meinen Fragebogen eingebaut, sodass eine Gruppe Video 1 und die andere Gruppe Video 2 anschaut.
In dem Video werden verschiedene Bilder gezeigt und es ist wichtig, dass jedes Bild nur für 4 sek. gezeigt wird. Daher soll das Video automatisch abgespielt werden, der Weiter Button ausgeblendet werden und nach dem Video soll man auf die nächste Seite geführt werden- beim Letzteren scheitere ich.

Ich habe dabei zwei verschiedene Varianten versucht (einmal PHP und einmal HTLM)

PHP Code : setNextPage('vidk');

--> Dies scheint vom System angenommen zu werden, jedoch führt es nicht automatisch zur nächsten Seite. Kann es sein, dass man hier theoretisch immer noch auf den Weiter Button klicken müsste?

HTLM:
<video style="max-width: 50%" playsinline autoplay muted controlsList="nodownload">
  <source src="IR1.MP4" type="video/mp4" />
</video>
<script>
    const video = document.querySelector("video");

video.addEventListener("ended", (event) => {
   // Das Video wurde erfolgreich abgespielt, weiterleiten zur nächsten Seite
    window.location.href = "index.php?page=vidk"; // Hier gehe ich davon aus, dass "vidk" die interne Seite ist
});
</script>

--> bei dem Code kommt eine Weiterleitung zu einer Page, auf der Steht: "Fragebogen noch nicht verfügbar".

Wie kann ich das Problem am besten lösen?

Viele Dank!

2 Answers

0 votes
by SoSci Survey (302k points)

Bisher verwende ich diesen Code um auf die nächste Fragebogenseite zu gelangen:

Da fehlt - passend zu dem <!-- am Anfang ein // --> am Ende. Entweder beides oder keines davon.

Ich habe versucht SetNextPage irgendwie in den Code einzubinden um zu definieren zu welche Seite automatisch weitergeleitet wird

Während Sie JavaScript-Code verwenden, welcher im Browser ausgeführt wird, ist setNextPage() ein PHP-Befehl, welcher vom Server ausgeführt wird. Legen Sie beim Frageboge zusammestellen über oder unter dem HTML-Code zusätzlich eine Element "PHP-Code" an und schreiben Sie dort das setNextPage() hinein:

setNextPage('nachVideo');

Wenn Sie das nicht angeben, geht es automatisch auf der Seite weiter, welche beim Fragebogen zuammenstellen auf die obige Seite folgt.

by s093808 (180 points)
Hallo,

Vielen Dank für Ihre Antwort.

Wenn ich den PHP Code setNextPage('xx') einfüge, komme ich auch durch ein klicken auf den weiter button auf die gesetzte Seite xx. Gibt es eine Möglichkeit einzustellen, dass der setNextPage Befehl nur bei der automatischen Weiterleitung am Ende des Videos ausgeführt wird?
by s093808 (180 points)
Hallo,

Gerade ist mir ausgefallen, dass eine bessere Lösung wahrscheinlich wäre, den weiter Button nach Ablauf des Countdowns dauerhaft auszublenden und stattdessen mit ButtonToPage einen neuen Button einzublenden. Gibt es einen Code der mir ermöglicht den ButtonToPage Button erst dann einzublenden, wenn das Video zu ende ist?

Vielen Dank!
by SoSci Survey (302k points)
Warum möchten Sie das denn machen? Also ... prinzipiell müssen Sie im HTML-Quellcode der Seite nur die HTML-ID des zweiten Knopfes heraussuchen und mit document.getElementById("...").style.display dann für das Ausblenden und Auzeigen sorgen.

Aber wäre es nicht einfacher, wenn Sie beim Erreichen des Video-Endes eine interne Variable setzen? Dann können Sie auf der folgenden Seite prüfen, ob das Video komplett angezeigt wurde und ggf. eine Warnung o.ä. anzeigen.
by SoSci Survey (302k points)
Ich habe diese Frage in einer separaten Antwort beantwortet.
0 votes
by SoSci Survey (302k points)

Gibt es eine Möglichkeit einzustellen, dass der setNextPage Befehl nur bei der automatischen Weiterleitung am Ende des Videos ausgeführt wird?

Sie können mittels buttonToPage() einen zusätzlichen Knopf auf der Seite einbinden, der auf eine andere Seite leitet. Sie können ann statt submitPage() einen Klick auf diesen Knopf mittels JavaScript auslösen.

Alternativ können Sie die Abspielposition des Videos in einer internen Variable speichern (Abspielen kontrollieren) und dann auf der nächsten Seite mit einem PHP-Filter entscheiden, was angezeigt werden soll - oder ob SIe auf eine andere Seite springen möchten.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...