मैं वेबव्यू में किसी भी लिंक क्लिक को पकड़ने के लिए WebViewClient.shouldOverrideUrlLoading का उपयोग कर रहा हूं। यह लगभग 9 5% समय काम करता है, लेकिन कभी-कभी इसे आसानी से नहीं कहा जाता है।चाहिएऑवरराइडउर्ल लोडिंग पृष्ठ लोड होने पर लिंक क्लिक/काम नहीं करता है
मैं इन तीन परिस्थितियों में यह देखा है:
- पेज के लिए लिंक अंक वे पर पहले से ही कर रहे हैं। यह वास्तव में एक बड़ा सौदा नहीं है, और bug reported for it है।
- हालांकि पृष्ठ अभी भी लोड हो रहा है, यदि उपयोगकर्ता किसी लिंक पर क्लिक करता है, तो यह शायद ही कभी इसे पकड़ लेता है। यह कभी भी
shouldOverrideUrlLoading
पर कॉल किए बिना लिंक खुल जाएगा। - यादृच्छिक रूप से। पिछले कुछ महीनों में इस के साथ प्रयोग करते समय मैंने देखा है कि कभी-कभी यह इसे पकड़ नहीं लेता है। यह दुर्लभ है लेकिन ऐसा होता है।
अब मेरा प्रश्न अधिकतर समस्या 2 को ठीक करने का तरीका है, क्योंकि अन्य एक बड़े सौदे से कम हैं। हालांकि, अगर किसी ने 1 या 3 हल किया है तो मुझे इसके बारे में सुनना अच्छा लगेगा।
इसके अलावा, मुझे यह उल्लेख करना चाहिए कि मैंने shouldOverrideUrlLoading
में अलग-अलग रिटर्न मानों का प्रयास किया है और मैंने देखा है कि हमेशा सत्य लौटने का सबसे अच्छा परिणाम होता है, लेकिन उपरोक्त मुद्दे अभी भी होते हैं।
'window.location' को संशोधित करने वाले पृष्ठ पर जेएस के साथ वेबपृष्ठ बदलने की कोशिश करते समय मुझे एक ही समस्या आई है। यह पता चला है कि यूआरएल योजना/प्रोटोकॉल को संशोधित करने से वेबवेव को 'चाहिएऑवर्राइडउर्ल लोडिंग' पर पकड़ मिलती है। –
आप स्वीकार करते हैं कि स्वीकृत उत्तर पर एक टिप्पणी में, समस्या का कारण आपके तर्क में था। आपने कभी भी वास्तविक समस्या का जिक्र नहीं किया है। मुझे यह समस्या है, और गुगल से ऐसा लगता है कि मैं अकेला नहीं हूं। क्या आप एक पल छोड़ना चाहते हैं और हमें बताएंगे कि आपने इसे कैसे हल किया? – mickey
@ मिकी, इसे इंगित करने के लिए धन्यवाद। उसके लिए माफ़ करना! मैंने नीचे एक प्रतिक्रिया लिखा है। (स्वीकृत उत्तरों टिप्पणियों में) – cottonBallPaws