Ich habe ein modales Dialogfeld in meiner Anwendung, das getUserMedia
verwendet, um ein Video von der Kamera des Benutzers anzuzeigen. Dies führt dazu, dass eine Leiste "Ablehnen / Zulassen" angezeigt wird. Angenommen, der Benutzer schließt das Dialogfeld, bevor er auf "Ablehnen" oder "Zulassen" klickt. Der Balken bleibt bestehen, obwohl die Elemente, die ihn benutzen würden, verschwunden sind.
Gibt es eine Möglichkeit, dem Browser mitzuteilen, dass er die Berechtigungsanfrage ausblenden kann, obwohl der Benutzer nie damit interagiert hat?
Wenn der Benutzer das Dialogfeld schließt, laden Sie die Seite neu, um die Berechtigungsanforderung zu löschen:
%Vor%Ich habe das in Firefox und Chrome 41 (Canary) getestet und es funktioniert dort.
Vorbehalt: Chrome 39 (die aktuelle Version zum Zeitpunkt des Schreibens) scheint einen Fehler zu haben, bei dem dies nicht so gut funktioniert. Das erste Mal, wenn ich zu der Seite navigiere, wird es nicht funktionieren, aber nachdem ich die Seite einmal manuell aktualisiert habe, fängt es an zu arbeiten.
Mir ist klar, dass diese Antwort nicht sofort nützlich sein kann, aber sobald Chrome 41 ausgeliefert wird, sollte es funktionieren.
Es gibt derzeit keine Möglichkeit, die Eingabeaufforderung zu löschen, ohne die Seite erneut zu laden.
Ich denke, du willst so etwas:
%Vor%mediaStream ist meine globale Variable, die beim Aufruf von getUserMedia
definiert wurde %Vor%In Ihrem Beispiel würden Sie stop () in Ihrem Medienstream aufrufen, wenn das Dialogfeld geschlossen wurde - Sie müssten dafür einen Event-Handler erstellen.
Sehen Sie sich dieses Tutorial zu getUserMedia für ein voll funktionsfähiges Beispiel und eine Live-Demo an.
Tags und Links javascript html5 getusermedia