पर चल रहा है आग नहीं करता है यह अच्छी तरह से पता है कि मोबाइल सफारी एक वेबपेज पर Javascript क्रियान्वयन रुक जाता है जबPagehide घटना जब आईपैड
- आप अन्य ब्राउज़र टैब
- स्विच करने के लिए करने के लिए स्विच एक अलग iOS एप्लिकेशन (जैसे जब आप फ़ोन ऐप एक इनकमिंग कॉल प्राप्त)
आप विंडो के "pagehide" और "pageshow" पूर्व संध्या की सदस्यता ले सकते एनएसटी आने वाले निलंबन और जावास्क्रिप्ट के पुनर्सक्रियण का पता लगाने के लिए।
समस्या है, उन घटनाओं आग नहीं है जब टैब-स्विचिंग (1.) एक आईपैड मोबाइल सफारी पर। आईफोन मोबाइल सफारी सब कुछ ठीक जैसा ऊपर वर्णित है।
यह प्रदर्शित करने के लिए तुच्छ है:
<!DOCTYPE html>
<html>
<head>
<script>
window.addEventListener("pagehide", function(evt){
var logger = document.getElementById('log_id');
logger.innerText = logger.innerText + " pagehide fired!";
}, false);
</script>
</head>
<body>
<div id="log_id"></div>
</body>
</html>
यह iPads (iOS5 और iOS6 Preview3) केवल जब टैब-स्विच (1.) पर एप्लिकेशन-स्विचिंग (2.) और नहीं कर रही पर सक्रिय करता है। सभी iPhones ठीक काम करते हैं ..
क्या कोई भी आईपैड ब्राउज़र पर एक आसन्न टैब-स्विचिंग का पता लगाने में सक्षम है?
फिर से सक्रिय होने जावास्क्रिप्ट का जब टैब को फिर से सक्रिय हो जाता है this discussion of the same topic में वर्णित के रूप में एक दिल की धड़कन पाश द्वारा पता लगाया जा सकता है।
यह ईवेंट तब भी बंद हो जाता है जब डिवाइस लॉक हो जाता है। आप पेजशो का उपयोग कर सकते हैं जो डिवाइस अनलॉक होने पर आग लग जाएगी और पेज फिर से दिखाया जाएगा। –
क्या आपने [window.onblur] (https://developer.mozilla.org/en-US/docs/Web/API/window.onblur) को आजमाया था? यह काम कर सकता है। – Uooo