ठीक है, मुझे निम्नलिखित कोड के साथ कोई समस्या है। क्या होता है जब कोई उपयोगकर्ता अपने ब्राउज़र को बंद करता है, तो उसे या तो ठीक क्लिक करने के लिए संकेत देना चाहिए या पृष्ठ छोड़ने के लिए कैंसल पर क्लिक करना चाहिए। ठीक क्लिक करने से उपयोगकर्ता ट्रैकिंग के लिए किसी अन्य पृष्ठ पर रीडायरेक्ट करने के लिए एक विंडो। स्थानांतरित हो जाएगा (और हाँ, लौ युद्धों से बचने के लिए, उपयोगकर्ता को कार्य प्रबंधक से ब्राउज़र को मारने की स्थिति में सटीक ट्रैकिंग सुनिश्चित करने के लिए एक माध्यमिक प्रणाली होती है (जैसा कि समान प्रश्नों में उल्लिखित है))। कैंसल पृष्ठ पर रहेगा, यह मुद्दा यह है कि इससे कोई फर्क नहीं पड़ता कि आप किस बटन पर हिट करते हैं, आप रीडायरेक्ट हो जाते हैं जैसे कि आप पृष्ठ छोड़ना चाहते हैं। प्रासंगिक कोड नीचे है।जावास्क्रिप्ट onbeforeunload समस्या
window.onbeforeunload = confirmExit;
function confirmExit()
{
var where_to = confirm("Click OK to exit, Click CANCEL to stay.");
if (where_to == true)
{
window.location="logout.php";
}
if (where_to == false){
alert("Returning...");
}
}
अजाक्स अनुरोध काम नहीं करते। मेरा मतलब है, वे काम करते हैं, लेकिन कभी-कभी उनके पास वास्तव में अनलोड होने से पहले पूरा करने के लिए पर्याप्त समय नहीं होता है। हमने इस तकनीक को हमारी विकास मशीन पर आजमाया है, और यह सुनिश्चित करने का एकमात्र तरीका है कि अनुरोध पूरा हो जाएगा यह सिंक्रोनस बनाकर है। जो आईई के साथ वास्तव में बड़ी समस्याएं पैदा करता है, क्योंकि इसमें प्रति ब्राउज़र उदाहरण AJAX अनुरोधों का सीमित ढेर है। –
@ इगोर: उचित बिंदु। मैंने फिर से एक और स्थानीय परीक्षण किया और यह आईई 8 और क्रोम पर काम करता है, लेकिन एफएफ 3 और सफारी 4 पर नहीं। – BalusC
@ IgorZinov'yev अगर आप AJAX कॉल आग लगाना भूल जाते हैं और भूल जाते हैं तो आप इसे बिना किसी समस्या के प्राप्त कर सकते हैं। कॉल हमेशा सर्वर पर हिट करेगा। – thomaux