2015-09-16 23 views
5

मुझे पता है कि यह प्रश्न बहुत आम है और इसे here - जेएस या JQuery और here का उपयोग करके हल किया जा सकता है - इसे एंड्रॉइड पर कैसे चलाया जाए। खैर यह तरीकों ठीक काम कर रहे हैं लेकिन जब हम कहते हैं:गतिशील रूप से एंड्रॉइड वेब में एचटीएमएल तत्व बदलें

`myWebView.loadUrl("javascript:document.body.innerHTML = document.body.innerHTML.replace('link1', 'link2')");` 

छवि link1 link2 साथ बदल रहा है, छवि लोड कर रहा है लेकिन पेज को पुनः आरंभ है, इसलिए यदि मैं अंत मैं शुरू करने जा रहा हूँ पर हूँ ... कर सकते हैं वास्तविक ब्राउज़र में पृष्ठ को फिर से लोड न करने के लिए, मैं वास्तविक समय में लिंक 1 को लिंक 2 में बदलता हूं?

और मैं अपने html फ़ाइल में आईडी की स्थापना, की तरह करने की कोशिश की:

<img src="https://link1.jpg" id="dm5kode"/> 

और एंड्रॉयड पर चलने:

myWebView.loadUrl("javascript:document.getElementById('dm5kode').src = 'link2'");

यहाँ मैं कुछ भी नहीं बस खाली स्क्रीन नहीं मिलता है ..

+0

कैसे आप इसे ठीक किया? क्या आप जो चाहते हैं उसे प्राप्त कर सकते हैं। मुझे एक ही समस्या है –

+0

@ अरुण के उत्तर पर लॉक - यह – johny

उत्तर

9

यह पृष्ठ को फिर से लोड नहीं किया गया है।

"javascript:(
     function() 
     { 
      document.body.innerHTML = document.body.innerHTML.replace('link1', 'link2') 
     })()" 

उदाहरण:

WebView wb; 
    wb = (WebView) findViewById(R.id.webView1); 
    wb.loadUrl("file:///android_asset/web1.html"); 
    wb.getSettings().setJavaScriptEnabled(true); 

    wb.setWebViewClient(new WebViewClient() { 

     @Override 
     public void onPageFinished(WebView web, String url) { 
      // TODO Auto-generated method stub 
      String uname = "[email protected]"; 
      String pass = "******"; 
      /* 
      * web.loadUrl(
      * "javascript:(function(){document.getElementById('email').value='" 
      * + uname + 
      * "';document.getElementById('pass').value='" + 
      * pass + "';})()"); 
      */ 
      String link1 = "https://www.gstatic.com/webp/gallery3/1.png"; 
      String link2 = "https://www.gstatic.com/webp/gallery3/2.png"; 
      web.loadUrl("javascript:(function(){document.body.innerHTML = document.body.innerHTML.replace('" + link1+"', '" + link2+"')})()"); 
     } 
    }); 

web1.html

<!DOCTYPE html> 
    <html> 
    <head> 
     <title>dynamic Image</title> 
    </head> 

    <body> 

<img src="https://www.gstatic.com/webp/gallery3/1.png" id="dm5kode"/> 

</body> 
</html> 
+0

काम कर रहा है अविश्वसनीय! +1। हैक के लिए कोई संदर्भ है? – Stan

+0

बिल्कुल सही जवाब, मैंने इसे तब तक बर्बाद कर दिया जब तक मुझे यह नहीं मिला! धन्यवाद :) – Alqueraf

+0

धन्यवाद, यह आकर्षण काम करता है। आप अपना समय बचाओ – Shailesh

संबंधित मुद्दे