2017-01-20 10 views
8

में लोड किए गए जाल पर प्रतिस्थापन कैसे करें I वेबव्यू का उपयोग करके एक ऐप लागू कर रहा हूं। वेबव्यू में लोड किए गए यूआरएल के लिए मुझे यूआरएल में लोड किए गए एचटीएमएल कोड पर प्रतिस्थापन करने की आवश्यकता होगी।वेबव्यू

मैं इसे कुशल तरीके से कैसे कर सकता हूं?

स्पष्टीकरण:

उदाहरण में:: मैं स्रोत से एक विशिष्ट स्क्रिप्ट स्क्रिप्ट बदलने की आवश्यकता

<html> 
    <script> SCRIPT A</script> 
    <p>Hello World</p> 
</html> 

को मैं चाहता हूँ मैं उपयोगकर्ता प्रदर्शित करना चाहते हैं यह अन्य

<html> 
    <script> SCRIPT B</script> 
    <p>Hello World</p> 
</html> 

धन्यवाद

+0

क्या आप थोड़ा स्पष्ट हो सकते हैं? क्या आपको यूआरएल के हिस्सों या आपके द्वारा लोड किए जा रहे पृष्ठ के कुछ हिस्सों को प्रतिस्थापित करने की आवश्यकता है? और क्या आपको एक समय में पूरे ब्लॉक को प्रतिस्थापित करने की आवश्यकता है या यह शब्द-दर-शब्द-आधार पर है? भी, क्या आप एंड्रॉइड प्रतिनिधि प्रणाली में हुक की तलाश में हैं, या आप एल्गोरिदम का उपयोग करने के लिए सुझावों की तलाश कर रहे हैं? – katzenhut

+0

मैंने अपना प्रश्न अपडेट किया है, अगर मैं गलत नहीं हूं, तो कृपया इसे – Addev

+0

देखें, आप वर्तमान वेब जेएस स्क्रिप्ट को अपनी स्क्रिप्ट में बदलना चाहते हैं? – ZeroOne

उत्तर

1

आपकोओवरराइड करना होगा। दस्तावेज़ here देखें।

सामान्य रूप इस (untested) की तरह कुछ होगा:

webview.setWebViewClient(new WebViewClient() { 
    @Override 
    public WebResourceResponse shouldInterceptRequest (final WebView view, String url) { 
     if (you_want_to_intercept) { 
      /*return custom WebresourceResponse here*/ 
     } else { 
      /*call superclass*/ 
      return super.shouldInterceptRequest(view, url); 
     } 
    } 
} 

मुझे आशा है कि इस मदद करता है, मुझे नहीं तो हमें बताएं।

0

आप HTML पृष्ठ को स्ट्रिंग के रूप में प्राप्त करने के लिए http अनुरोध का उपयोग कर सकते हैं, फिर स्क्रिप्ट को ढूंढने और बदलने के लिए jsoup जैसे कुछ का उपयोग करें, और वेब सामग्री में HTML सामग्री लोड करने के लिए WebView.loadDataWithBaseURL का उपयोग करें।