के लिए अनलोड/छुपाएं/धुंधला करें मैं मोबाइल सफारी पर एक ईवेंट की तलाश में हूं जो पता लगाएगा कि पृष्ठ को रीडायरेक्ट के कारण छुपाया गया था। यदि कोई उपयोगकर्ता इसे स्थापित करता है, तो मैं सीधे अपना ऐप खोलना चाहता हूं, फिर इंस्टॉल होने पर फेसबुक का प्रयास करें, और यदि नहीं तो उस आईडी के लिए वेबपृष्ठ पर जाएं।मोबाइल सफारी पेज डीप लिंकिंग
- यदि 'myapp' स्थापित है, तो myapp खोला गया है। लेकिन सफारी टैब अभी भी facebook.com पर रीडायरेक्ट हो जाता है
- यदि 'myapp' स्थापित नहीं है, लेकिन फेसबुक है, तो फेसबुक आईओएस ऐप खोला गया है। लेकिन सफारी टैब अभी भी facebook.com
पर पुनः निर्देशित होने पर मैं निम्न HTML/जे एस के साथ एक test link बना लिया है:
<!DOCTYPE html>
<html>
<head>
<title>Redirect Test</title>
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js'></script>
<meta name='viewport' content='initial-scale = 1.0,maximum-scale = 1.0' />
</head>
<body>
<button>Open Oreo</button>
<script type='text/javascript'>
jQuery(function(){
jQuery('button').on('click', function(){
var myid = null, fbid = null;
// Watch for page leave to kill timers
jQuery(window).on('pagehide pageshow blur unload', function(){
if (myid) {
clearTimeout(myid);
}
if (fbid) {
clearTimeout(fbid);
}
});
window.location = "myapp://fbprofile/oreo";
var myid = setTimeout(function(){
// My app doesn't exist on device, open facebook
window.location = "fb://profile/oreo";
fbid = setTimeout(function(){
// Facebook doesn't exist on device, open facebook mobile
window.location = "https://www.facebook.com/oreo";
}, 100);
}, 100);
});
});
</script>
</body>
</html>
टिप के लिए धन्यवाद! दुर्भाग्य से यह लागू नहीं होता है क्योंकि मैं एक बटन का उपयोग कर रहा हूं और जावास्क्रिप्ट के साथ रीडायरेक्ट कर रहा हूं, बल्कि एक लिंक। इसलिए रद्द करने के लिए कोई 'लिंक क्लिक बबल' ईवेंट नहीं है। –
आप सही हैं - मैंने कूल्हे से गोली मार दी और पूरी तरह से उस तथ्य को याद किया! हालांकि ब्राउज़र चेक के बारे में सुझाव खड़ा है। ऊपर दिए गए मेरे संपादित उत्तर को देखें - 'सेटटाइमआउट' कार्यों के भीतर प्रासंगिक चेक को ले जाया गया और 'clearTimeout' से छुटकारा पा लिया। – goddogsrunning
सफारी एक बार फिर से शुरू होने वाले पृष्ठ पर फिर से शुरू होता है और इस मामले में स्क्रिप्ट काम नहीं करेगी। इस व्यवहार से बचने के लिए, आप 'window.close();' 'else' ब्लॉक में जोड़ सकते हैं। – ruphus