वर्तमान में, OnShouldStartLoadWithRequest केवल आईओएस पर समर्थित है। A PR to add support for this on Android बंद कर दिया गया था। यदि एंड्रॉइड पर एक वेब व्यू एक कस्टम यूआरएल योजना, the app will crash खोलने का प्रयास करता है - जो मेरे ऐप को भी क्रैश कर रहा है।एंड्रॉइड में यूआरएल लोड करने से वेबव्यू को रोकें (प्रतिक्रियात्मक मूल)
एप्लिकेशन मैं एक WebView एक कस्टम यूआरएल स्कीम खोलने के लिए और उस URL को खोलने से पहले इसे रद्द करने का प्रयास कर अवरोधन करने की जरूरत पर काम कर रहा हूँ (जो, iOS पर, OnShouldStartLoadWithRequest
पर लौटने false
ऐसा करने के लिए एक शानदार तरीका है)।
एंड्रॉइड पर ऐसा करने का सबसे अच्छा तरीका क्या है?
मैं इस कोड काम करना चाहता हूँ:
<WebView
ref={WEBVIEW_REF}
source={{uri: INITIAL_URI}}
onShouldStartLoadWithRequest={this.onShouldStartLoadWithRequest}
style={{width, height: height - navBarHeight, backgroundColor: "#fff"}}
/>
onShouldStartLoadWithRequest(navigator) {
if (navigator.url.indexOf(INTERCEPT_URL) === -1) {
return true;
}
return false;
}
मैं बहुत ज्यादा कुछ भी है कि काम करता है के साथ व्यक्तिगत रूप से ठीक हूँ - ReactWebViewManager.java
मैन्युअल संशोधित भी शामिल है। मुझे बस इसे दरवाजा बाहर निकालना होगा।
'स्टॉपलोडिंग()' को कॉल करने के बाद, मेरा वेब व्यू अब स्पर्श ईवेंट को संभालता नहीं है। यदि उपयोगकर्ता एक लिंक पर क्लिक करता है और यह अपने ब्राउज़र में खुलता है, तो वे बाद में अपना ऐप खोल सकते हैं जो अभी भी वेब व्यू दिखाता है। यदि वे उस वेब व्यू में एक अलग लिंक पर क्लिक करने का प्रयास करते हैं तो यह कुछ भी नहीं करेगा। क्या आपको इसका सामना करना पड़ा? – ckeeney