मैंने पाया कि चयनित उत्तर ब्राउज़र ऐप्स के लिए काम करता है, लेकिन मैं गैर ब्राउज़र ऐप में काम करने वाले कोड के साथ समस्या कर रहा था जो कि एक को लागू करते हैं UIWebView
।
मेरे लिए समस्या यह थी कि ट्विटर ऐप पर एक उपयोगकर्ता एक लिंक पर क्लिक करेगा UIWebView
, जो ट्विटर ऐप के माध्यम से उन्हें मेरी साइट पर ले जाएगा । फिर जब उन्होंने मेरी साइट के एक बटन पर क्लिक किया तो ट्विटर फ़ैंस होने की कोशिश करता है और केवल तभी पूरा होता है window.location
जब साइट उपलब्ध हो। तो क्या होता है एक UIAlertView
पॉप अप कह रहा है कि क्या आप सुनिश्चित करना चाहते हैं कि आप जारी रखना चाहते हैं और फिर तुरंत दूसरे पॉपअप के बिना ऐप स्टोर पर रीडायरेक्ट करते हैं।
मेरे समाधान में iframes शामिल है। यह UIAlertView
एक सरल और सुरुचिपूर्ण उपयोगकर्ता अनुभव के लिए प्रस्तुत किए जाने से बचा जाता है।
jQuery
var redirect = function (location) {
$('body').append($('<iframe></iframe>').attr('src', location).css({
width: 1,
height: 1,
position: 'absolute',
top: 0,
left: 0
}));
};
setTimeout(function () {
redirect('http://itunes.apple.com/app/id');
}, 25);
redirect('custom-uri://');
जावास्क्रिप्ट
var redirect = function (location) {
var iframe = document.createElement('iframe');
iframe.setAttribute('src', location);
iframe.setAttribute('width', '1px');
iframe.setAttribute('height', '1px');
iframe.setAttribute('position', 'absolute');
iframe.setAttribute('top', '0');
iframe.setAttribute('left', '0');
document.documentElement.appendChild(iframe);
iframe.parentNode.removeChild(iframe);
iframe = null;
};
setTimeout(function () {
redirect('http://itunes.apple.com/app/id');
}, 25);
redirect('custom-uri://');
संपादित करें:
जब पृष्ठ में सबसे नीचे व्हाट्सएप का एक यादृच्छिक बिट नहीं है, तो iframe के लिए पूर्ण स्थिति जोड़ें।
यह भी ध्यान रखना महत्वपूर्ण है कि मुझे एंड्रॉइड के साथ इस दृष्टिकोण की आवश्यकता नहीं मिली है। का उपयोग window.location.href
ठीक काम करना चाहिए।