सामान्य समस्या
जावास्क्रिप्ट में, मुझे URL को लोड करने में त्रुटि होने पर डिफ़ॉल्ट व्यवहार को ओवरराइड करने पर अधिसूचित होने की आवश्यकता है। उदाहरण के लिए, को क्रियान्वित करने आईओएस सफारी पर निम्नलिखित ...आप window.location त्रुटि ईवेंट को ओवरराइड कैसे करते हैं?
window.location = 'http://pageDoesNotExist.badFormatting';
... यह अलर्ट संदेश पॉप अप होगा ...
मैं ऐसे एक त्रुटि के लिए एक श्रोता संलग्न चाहते हैं और बदसूरत चेतावनी बॉक्स दिखाने के लिए कुछ करें।
मेरे विशिष्ट समस्या
एक उपयोगकर्ता एक बटन टैप करता है, मैं और मैं उसे अपनी एप्लिकेशन डाउनलोड करने के लिए App स्टोर खोलने की आवश्यकता है, अगर यह स्थापित किया गया है मेरी एप्लिकेशन को लॉन्च करने की जरूरत है। accepted solution है:
// Attempt to open app
window.location = 'myApp://';
// If app fails to open, will open app store 0.5 seconds later
window.setTimeout(
function() {
window.location = 'http://itunes.apple.com/myAppId';
},
500
);
समस्या यहां है कि पहली window.location
बदसूरत चेतावनी बॉक्स खुल जाता है जब एप्लिकेशन इंस्टॉल नहीं है है। कोड तब ऐप स्टोर में फॉलबैक होगा। जब उपयोगकर्ता ऐप स्टोर से वापस सफारी में वापस आ जाता है, तो बदसूरत अलर्ट बॉक्स अभी भी वहां है। जहां तक मुझे पता है कि window.onerror
मोबाइल सफारी पर आग नहीं लगाती है।
इस पर एक नजर डालें - http://stackoverflow.com/questions/1108693/is-it-possible-to-register-a-httpdomain-based-url-checheme-for-iphone-apps-like/1109200#1109200 – mrtsherman
मुझे लगता है कि आप करेंगे इस तरह कुछ करने के लिए ब्राउज़र प्लग-इन होना चाहिए क्योंकि, कुछ हद तक परिभाषा के अनुसार, जब यह त्रुटि आती है, तो कोई सक्रिय पृष्ठ नहीं होता है और इस प्रकार आपका कोई भी पृष्ठ जावास्क्रिप्ट नहीं होता है। इसलिए, जावास्क्रिप्ट को ब्राउज़र में बनाया जाना होगा - इस प्रकार प्लग-इन का उपयोग करने का विचार। – jfriend00
क्या आपने इस [समाधान] (http://stackoverflow.com/a/1404662/371392) को पहले देखा था? –