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

0 votes

Hallo zusammen,

ich möchte ein Skript einbinden mit dem ich Text (also Fragen) als Sprachausgaben wiedergeben kann. Das Skript sollte eigentlich am Ende des eines html Formulars eingefügt werden. Mit dem Einbinden in den html Bereich einer Frage hat es nicht funktioniert.

Gibt es ein "allgemeines" html Formular für den ganzen Fragebogen? bzw. weiß jemand wie ich das Skript in Sosci zum Laufen bringe?

Es handelt sich um folgendes Skript:

Ich bin für jegliche Hilfe dankbar!

<script>        
function getSelectionText() {
        var text = "";
        if (window.getSelection) {
            text = window.getSelection().toString();
        // for Internet Explorer 8 and below. For Blogger, you should use && instead of &&.
        } else if (document.selection && document.selection.type != "Control") { 
            text = document.selection.createRange().text;
        }
        return text;
    }
    $(document).ready(function (){ // when the document has completed loading
       $(document).mouseup(function (e){ // attach the mouseup event for all div and pre tags
          setTimeout(function() { // When clicking on a highlighted area, the value stays highlighted until after the mouseup event, and would therefore stil be captured by getSelection. This micro-timeout solves the issue. 
             responsiveVoice.cancel(); // stop anything currently being spoken
             responsiveVoice.speak(getSelectionText()); //speak the text as returned by getSelectionText
          }, 1);
       });
    });
    </script>
in SoSci Survey (dt.) by s109993 (1.7k points)

1 Answer

0 votes

Damit dieses Script funktioniert, werden Sie erstmal die JavaScript-Bibliothek jQuery einbinden müssen. Soweit kein Problem, das können Sie entweder mit ein wenig JavaScript-Code oder mit dem Befehl library('jQuery') erledigen. Aber dann ist mir noch nicht ganz klar, woher die Variable responsiveVoice kommen soll, die sich offenbar um die Sprachausgabe kümmern soll.

Meine Vermutung ist, dass Sie ResponsiveVoiceJS dafür verwenden möchten. Das heißt, Sie müssen auch deren Bibliothek einbinden. Entweder direkt online (vorsicht - das kann Datenschutz-Probleme geben!) oder herunterladen und im Befragungsprojekt hochladen und dann mittels JavaScript einbinden.

Hier schonmal ein erster Hinweis, wie das mit dem "Einbinden" funktioniert:
Including JavaScript In Your Page

Insgesamt übrigens eine gute Idee, finde ich. Vielleicht können wir das in SoSci Survey demnächst mal als Standard einbinden... Allerdings verschenkt ResponsiveVoiceJS die eigene Leistung nicht. Womöglich sind Lösungen, welche die im Betriebssystem vorhandenen Möglichkeiten verwenden, für die ersten Versuche besser geeignet.

by SoSci Survey (85.1k points)
...