więc standardowy sposób, że navigator.webkitGetUserMedia służy to jak takie:Webkit Google ChromeGetUserMedia - co zrobić, jeśli użytkownik zignoruje to okno dialogowe?
function success() {
console.log('User accepted');
}
function deny() {
console.log('User rejected');
}
navigator.webkitGetUserMedia({video: true, audio: true}, success, deny);
Witryna Zajmuję absolutnie wymaga użycia kamery i mikrofonu (faktycznie, za pomocą Flash użytkownika, ale to wydaje się iść za pośrednictwem tego interfejsu API), więc staram się zrobić wszystko, aby zapewnić, że użytkownik zawsze wie, co musi kliknąć, aby strona działała.
- Jeśli nie jest wywoływana żadna funkcja, zakładamy, że okno dialogowe jest wyświetlane i wyświetla instrukcje użytkownikowi.
- Jeśli wywołanie jest zabronione, wyjaśnij, że wymagany jest dostęp do kamery i pokaż, że mogą kliknąć ikonę kamery na pasku adresu Chrome, aby zmienić decyzję.
- Oczywiście, jeśli zostanie wywołany sukces, użytkownik zaakceptował i kontynuował normalnie.
Oto kicker; i możesz śledzić dalej, wklejając powyższą wersję Javascript do dowolnej strony (w Chrome). Jeśli użytkownik przejdzie do nowej strony internetowej lub odświeży bieżącą stronę bez akceptowania, odrzucania lub odrzucania listy rozwijanej, , nie zobaczy ponownie okna dialogowego uprawnień dla bieżącej domeny dla sesji przeglądarki.
Ponownie wyświetli się , a następnie , a nie wyświetli okno dialogowe uprawnień, a nawet ikona kamery nie pojawi się na pasku URL. Konsola nie loguje się nawet "Użytkownik odrzucony". Co więcej, dla wielu użytkowników to menu jest bardzo łatwe do przypadkowego zignorowania. Jedyną dostępną opcją jest całkowite zamknięcie przeglądarki i ponowne jej otwarcie (lub ręczna nawigacja po skomplikowanych menu ustawień, na które NIE chcemy zmuszać naszych użytkowników).
Czy mogę potwierdzić z kimkolwiek tutaj, czy jest to "w jakiś sposób", czy też jest coś, czego mi brakuje?
Wydaje się działać dla mnie (Chrome 27 w systemie Windows Vista). Jeśli odświeżę stronę, pasek uprawnień znowu się podniesie. Jeśli przejdę na inną stronę, a następnie powrócę do strony początkowej, wyskoczy ona również ponownie. Może sprawdź, czy masz już ustawiony wyjątek dla tej nazwy hosta: chrome: // settings/contentExceptions # media-stream –
Spróbuj w ten sposób: Przejdź tutaj: http://www.testwebcam.com/, a następnie kliknij Zezwalaj wewnątrz Flasha . Następnie nie klikaj banera Chrome w ogóle, ale odśwież stronę. Kliknij Zezwalaj na Flash ponownie - brak banera. Nie ustawiono wyjątków witryny; usuwamy to menu za każdym razem, aby ponownie przetestować. – Katana314
Nigdy nie dostaję transparentu uprawnień na tej stronie - tylko okno dialogowe uprawnień Flash.Mogę konkretnie blokować uprawnienia mediów w Chrome dla tej domeny i nie będzie to miało żadnego znaczenia. W ustawieniach jest napisane "Wyjątki kamery i mikrofonu Adobe Flash Player są różne." więc myślę, że to ma sens. Zakładam, że to dla ciebie coś innego - z jakiego systemu operacyjnego korzystasz? –