Kann Javascript prompt () per Skript beantwortet werden?

8

Im Grunde brauche ich eine Plausibilitätsprüfung.

Angenommen, dieser Code:

prompt("Yes or no?")

Der Benutzer muss hier auf eine Antwort klicken. Es gibt keine Möglichkeit in Javascript die Frage für den Benutzer zu "beantworten" ... richtig? Alles, was ich weiß, schreit unmöglich ... aber ich wollte zuerst hier dreifach überprüfen.

    
Charlie74 26.03.2014, 21:26
quelle

4 Antworten

6

Nein.

prompt() zeigt sofort ein modales Dialogfeld an und blockiert alle weiteren Skript-Ausführungen, bis ein Wert eingegeben wird. Es gibt keine Möglichkeit, an irgendeinem Punkt abzufangen oder damit umzugehen, da kein Code ausgeführt werden darf, während er aktiv ist.

Vielleicht möchten Sie einen anderen Weg, ein Dialogfeld aufzustellen, das weniger aufdringlich ist wie jQuery UI Dialog

Warte, du scheinst dir mehr Sorgen darüber zu machen, dass es manipuliert werden könnte und du willst es nicht?

Wenn dem so ist, dann ist meine Antwort wahr, aber es gibt andere Wege, um es zu umgehen. Sie können beispielsweise die Funktion prompt() überschreiben, bevor sie ausgeführt wird, um das zu tun, was Sie wollen. Dieses Snippet würde verhindern, dass eine Eingabeaufforderung angezeigt wird, und einen bestimmten Rückgabewert fest codieren.

%Vor%

Ohne zu wissen, was Sie zu erreichen versuchen, ist es schwer, stattdessen Ratschläge zu geben. Aber wenn Sie eine Eingabeaufforderung haben möchten, die die Frage "Sind Sie ein Mensch?" Beantworten wird, wird es nicht zuverlässig sein, da es leicht umgangen werden kann.

    
Alex Wayne 26.03.2014, 21:29
quelle
2

Sie haben Recht, Das gesamte Programm wartet , bis der Benutzer antwortet , also Code, der die Eingabeaufforderung programmatisch "beantworten" könnte, würde sowieso nicht laufen.

    
SomeKittens 26.03.2014 21:28
quelle
2

Nein, Sie können prompt () nicht vom JS-Code aus beantworten.

    
Lee Salminen 26.03.2014 21:28
quelle
1

Im Allgemeinen (nur unmodifizierte Desktop-Browser), denke ich nicht (siehe andere Antworten). Wenn Sie jedoch andere Anwendungen von JavaScript-Alarmen betrachten, ist dies möglicherweise möglich. Zum Beispiel würden Sie mit dem Android SDK die Methode onJsAlert von WebChromeClient : %Vor%

Es kann sich lohnen, den Quellcode zu überprüfen, um zu sehen, wie dies erreicht wird. Dies kann Haken im Browser haben, aber wenn Sie wirklich darauf eingehen möchten, könnte dies interessant sein.

Alternativ

Wenn Sie brauchen , um eine Art von Alert-Stil-Box zu haben, die mit JavaScript gesteuert werden kann, sollte es auch den ARIA-Spezifikationen entsprechen, wie in MDN in der Alerting-Rolle . Dies würde eine ähnliche Funktionalität ermöglichen, die Formatierung der Warnung ermöglichen und auch für Benutzer mit Eingabehilfen geeignet sein.

Eine schlechte Seite, die ich sehen kann, ist, dass es sich nicht in etwas einordnen lässt, was oben besprochen wurde. Wenn ein Android-Entwickler sich entschieden hat, die Warnungen zu überschreiben, glaube ich nicht, dass dies wie erwartet funktionieren würde.

    
Kyle Falconer 26.03.2014 21:37
quelle

Tags und Links