हालांकि एपीआई यह पता लगाने के लिए एक तंत्र प्रदान करता है कि जब उपयोगकर्ता डेनी बटन पर क्लिक करता है, तो यह पता लगाने के लिए एक अंतर्निहित तरीका नहीं है कि उपयोगकर्ता ने पॉपअप विंडो को अचानक बंद कर दिया है (या अपने वेब ब्राउज़र से बाहर निकला है, अपने कंप्यूटर को बंद कर दिया है, और इसी तरह)। से इनकार करें यदि आप उपयोगकर्ता को कम स्कॉप्स के साथ पुनः संकेत देना चाहते हैं (उदा। आपने "ईमेल" का अनुरोध किया है, लेकिन केवल प्रोफ़ाइल की आवश्यकता है और उपयोगकर्ता को आपको अपना ईमेल दिए बिना आगे बढ़ने देगा)।
साइन-इन कॉलबैक से प्रतिक्रिया त्रुटि, access_denied
हैं, तो यह इंगित करता है उपयोगकर्ता से इनकार क्लिक किया बटन:
function onSignInCallback(authResult) {
if (authResult['error'] && authResult['error'] == 'access_denied') {
// User explicitly denied this application's requested scopes
}
}
आप का पता लगाने के लिए कि क्या खिड़की था बिना साइन-इन को लागू करने में सक्षम होना चाहिए बन्द है; यह लगभग all of the Google+ sample apps में प्रदर्शित किया गया है। संक्षेप में, आपको एक स्पिनर का उपयोग करने से बचने चाहिए क्योंकि आप कर रहे हैं और इसके बजाय उपयोगकर्ता ने सफलतापूर्वक साइन इन किया है जब तक उपयोगकर्ता ने सफलतापूर्वक साइन इन नहीं किया है।
यह अनुशंसा नहीं है कि आप ऐसा करते हैं, लेकिन पॉप-अप बंद करने का पता लगाने के लिए, आप कुछ कर सकते हैं वैश्विक window.open
कॉल ओवरराइड, तो detect in window.unload या पोल चाहे खिड़की उपयोगकर्ता प्रमाणीकरण के बिना बंद हो गया की तरह:
var lastOpenedWindow = undefined;
window.open = function (open) {
return function (url, name, features) {
// set name if missing here
name = name || "default_window_name";
lastOpenedWindow = open.call(window, url, name, features);
return lastOpenedWindow;
};
}(window.open);
var intervalHandle = undefined;
function detectClose() {
intervalHandle = setInterval(function(){
if (lastOpenedWindow && lastOpenedWindow.closed) {
// TODO: check user was !authenticated
console.log("Why did the window close without auth?");
window.clearInterval(intervalHandle);
}
}, 500);
}
नोट के रूप में मैं इसे क्रियान्वित किया है, इस तंत्र अविश्वसनीय और विषय की स्थिति दौड़ के लिए है कि ।
हाय दीप .. यू इस के लिए किसी भी slolution मिला? – Warrior