2013-07-10 9 views
6

तो मानक तरीका है कि navigator.webkitGetUserMedia प्रयोग किया जाता है इस तरह के की तरह है:Google क्रोम का वेबकिट GetUserMedia - यदि उपयोगकर्ता संवाद को अनदेखा करता है तो क्या होगा?

function success() { 
    console.log('User accepted'); 
} 

function deny() { 
    console.log('User rejected'); 
} 

navigator.webkitGetUserMedia({video: true, audio: true}, success, deny); 

साइट मैं बिल्कुल विकासशील कर रहा हूँ उपयोगकर्ता के वेब कैमरा और माइक्रोफोन (वास्तव में, फ्लैश का उपयोग करने का उपयोग की जरूरत है, लेकिन वह जाने के लिए लगता है इस एपीआई के माध्यम से अब), इसलिए मैं यह सुनिश्चित करने के लिए सबकुछ करने की कोशिश कर रहा हूं कि उपयोगकर्ता हमेशा जानता है कि साइट पर काम करने के लिए उन्हें क्या क्लिक करना है।

  • यदि न तो फ़ंक्शन कहा जाता है, तो मान लें कि संवाद दिखा रहा है, और उपयोगकर्ता को निर्देश प्रदर्शित करता है।
  • अगर इनकार किया जाता है, तो समझाएं कि वेबकैम एक्सेस की आवश्यकता है, और उन्हें दिखाएं कि वे अपने निर्णय को बदलने के लिए क्रोम के यूआरएल बार में कैमरा आइकन पर क्लिक कर सकते हैं।
  • बेशक, यदि सफलता कहा जाता है, तो उपयोगकर्ता ने स्वीकार किया है, और सामान्य के रूप में जारी है।

यहां किकर है; और आप उपरोक्त जावास्क्रिप्ट को अपनी पसंद की किसी भी साइट (क्रोम में) में चिपकाकर अनुसरण कर सकते हैं। यदि उपयोगकर्ता किसी नए वेबपृष्ठ पर नेविगेट करता है, या ड्रॉप पेज, को अस्वीकार करने, अस्वीकार करने या खारिज किए बिना वर्तमान पृष्ठ को रीफ्रेश करता है तो उन्हें ब्राउज़र सत्र के लिए वर्तमान डोमेन के लिए एक अनुमति संवाद फिर से दिखाई नहीं देगा।

कॉलिंग navigator.webkitGetUserMedia(...) फिर से एक अनुमति संवाद दिखाएगा, न ही कैमरा आइकन यूआरएल बार में भी दिखाई देगा। कंसोल "उपयोगकर्ता अस्वीकार" भी लॉग नहीं करता है। और भी, कई उपयोगकर्ताओं के लिए यह ड्रॉपडाउन गलती से अनदेखा करना बहुत आसान है। एकमात्र फिक्स्ड ब्राउज़र को पूरी तरह से बंद करना और इसे फिर से खोलना है (या, जटिल सेटिंग्स मेनू के माध्यम से मैन्युअल रूप से नेविगेट करना है कि हम अपने उपयोगकर्ताओं को मजबूर नहीं करना चाहते हैं)।

क्या मैं यहां किसी के साथ पुष्टि कर सकता हूं कि यह 'किसी भी तरह' इरादा है, या यदि कुछ ऐसा है जो मुझे याद आ रहा है?

+0

ऐसा लगता है कि मेरे लिए काम करता है (विंडोज Vista पर क्रोम 27)। यदि मैं पृष्ठ को रीफ्रेश करता हूं, तो अनुमति बार फिर से ऊपर जाता है। यदि मैं किसी अन्य पृष्ठ पर नेविगेट करता हूं, और फिर प्रारंभिक पृष्ठ पर वापस जाता है तो यह फिर से पॉप अप हो जाता है। शायद जांचें कि क्या आपके पास उस होस्टनाम के लिए पहले ही अपवाद सेट है: क्रोम: // सेटिंग्स/सामग्री अपवाद # मीडिया-स्ट्रीम –

+0

इस तरह से प्रयास करें: यहां जाएं: http://www.testwebcam.com/ फिर फ़्लैश के अंदर अनुमति दें क्लिक करें । फिर, क्रोम बैनर पर बिल्कुल क्लिक न करें, लेकिन पृष्ठ को रीफ्रेश करें। फ़्लैश पर फिर से अनुमति दें पर क्लिक करें - कोई बैनर नहीं। कोई साइट अपवाद सेट नहीं है; हम प्रत्येक बार फिर से परीक्षण करने के लिए मेनू साफ़ करते हैं। – Katana314

+0

मुझे उस पृष्ठ पर अनुमति बैनर कभी नहीं मिला - बस फ्लैश अनुमति संवाद।मैं विशेष रूप से उस डोमेन के लिए क्रोम में मीडिया अनुमतियों को अवरुद्ध कर सकता हूं और इससे कोई फर्क नहीं पड़ता। सेटिंग्स में यह कहता है "एडोब फ्लैश प्लेयर कैमरा और माइक्रोफोन अपवाद अलग हैं।" तो मुझे लगता है कि समझ में आता है। मुझे लगता है कि यह आपके लिए अलग है - आप किस ओएस का उपयोग कर रहे हैं? –

उत्तर

6

ऐसा लगता है कि यह एक ज्ञात बग है।

Issue 252904: माइक्रो/कैम अनुमति पर इन्फोबार पॉपअप अप्रत्याशित अनुमति स्थिति में परिणाम देता है; पुनः लोड

पर अनुमति की अप्राप्य कमी का कारण बनता है वर्तमान में twopatches कि बग पर टिप्पणी थ्रेड में हैं, इसलिए कम से कम आप जानते हैं कि वे इस मुद्दे को ठीक करने के लिए काम कर रहे हैं। दुर्भाग्यवश, समय के दौरान बग के लिए कोई असली कामकाज नहीं दिखता है।

उल्लेख करने योग्य एक बात: यदि आप टैब बंद करते हैं और फिर यूआरएल को फिर से खोलते हैं, तो यह फिर से दिखाने के लिए अनुमति संवाद को मजबूर करता है। मुझे पता है कि यह वास्तविक समाधान नहीं है, लेकिन कम से कम यह पूरे ब्राउज़र को बंद करने से बेहतर है (जो मुझे लगता है कि आप अभी तक क्या कर रहे हैं)।

+0

जानकारी के लिए बहुत बहुत धन्यवाद; मैं इस जवाब को बक्षीस देता हूं जब तक कि किसी को कुछ अद्भुत कामकाज न मिले। यह जानना अच्छा है कि यह काम किया जा रहा है। दुर्भाग्यवश, हमारी साइट में बहुत से राज्य-संरक्षण हैं जो उपयोगकर्ता द्वारा उसी URL पर एक टैब को बंद और फिर से खोलने पर गड़बड़ हो सकती है। इसके अलावा, यह हमारे उपयोगकर्ताओं के लिए अभी भी कम अंतर्ज्ञानी है। – Katana314

संबंधित मुद्दे