Wie ändere ich die Eingabemethode des emscripten-Browsers von window.prompt auf etwas Vernünftigeres?

Ich habe eine C ++ - Funktion, die einmal aufgerufen wird, verbraucht die Eingabe von stdin. Wenn Sie diese Funktion mit emscripten nach Javascript exportieren, wird window.prompt aufgerufen.

Die Interaktion mit der Browser-Eingabeaufforderung ist eine sehr mühsame Aufgabe. Zunächst können Sie jeweils nur eine Zeile einfügen. Zweitens können Sie EOF nur durch Drücken von "Abbrechen" anzeigen. Last but not least besteht die einzige Möglichkeit (im Falle meiner Funktion) darin, den Benutzer nicht mehr zur Eingabe durch window.prompt aufzufordern, indem Sie das Kontrollkästchen aktivieren, um zu verhindern, dass weitere Eingabeaufforderungen angezeigt werden.

Für mich wäre die beste Eingabemethode das Lesen eines Blobs. Ich weiß, dass ich library.js hacken kann, aber ich sehe einige Probleme:

Das Lesen von Blobs ist asynchron.Um einen Blob zu lesen, muss zuerst eine Datei geöffnet werden, die der Benutzer auswählen muss.Ich weiß nicht wirklich, wie ich verhindern kann, dass meine Funktion diesen Blob für immer liest - es gibt kein Kontrollkästchen wie bei window.prompt, und ich bin nicht sicher, ob EOF dies stoppt, wenn es nicht in window.prompt ist (nur ein Häkchen zu setzen hat geholfen).

Die beste Lösung wäre eine Art Rückruf, aber ich würde gerne Hinweise von erfahreneren Benutzern sehen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage