2016-10-09 6 views
0

私はwebviewを使用するアプリケーションを構築しています。モバイル版のウェブサイトを読み込みます。しかし私のクライアントは、私がテキストを変更して削除することを望んでいました。 私はjavascriptでそれをやったが、私がこれをした後、いくつかのスライダはもはや動作を停止した。 JavaScriptがなければ完璧に動作します。しかし、私は何とかテキストを変更して削除する必要があります。使用後にWebviewがうまく動作しない

my webview settings;

wSettings=webView.getSettings(); 
     wSettings.setJavaScriptEnabled(true); 
     wSettings.setDomStorageEnabled(true); 
    webView.loadUrl("http://www.evdusum.com"); 

と私がonPageFinishedで使用したjavascript。

@Override 
      public void onPageFinished(WebView view, String url) { 

       String link1 = "SİTEDE ARAYIN"; 
       String link2 = "ARA"; 
       String a="Bu sitede kullanılan yazılı ya da görsel dokümanlar izinsiz kullanılamaz."; 
       String b=" "; 
       view.loadUrl("javascript:(function(){document.body.innerHTML = document.body.innerHTML.replace('" + link1+"', '" + link2+"')})()"); 
       view.loadUrl("javascript:(function(){document.body.innerHTML = document.body.innerHTML.replace('" + a+"', '" + b+"')})()"); 

       ((RelativeLayout)findViewById(R.id.start)).setVisibility(View.GONE); 

      } 
+0

DNTの使用2回view.loadUrlがindicated.The最高のは、私はあなたが何を意味するか理解できないあなたのページにあなたのjavascriptのコードを書き、WebViewの –

+0

@DionisLからあなたのjavascriptを呼び出すことであるではありません。私はこのウェブページを編集することはできません。このページにコードを書くことはできません。 –

+0

Googleでは、webviewでページソースを表示する方法を検索することができます。ページソースを変更してwebviewに再度ロードしてください。 –

答えて

0

Androidアプリ18(JELLY_BEAN_MR1)まではview.loadUrl("javascript:");を使用できます。あなたのjsを挿入して呼び出すためにただ一つの呼び出しを使用してください。長いコードを実行する必要がある場合は、関数を作成し、webView.loadUrl()の「同じ呼び出し」で呼び出します。

いくつかの例:> = 19使用webView.evaluateJavascript

webView.loadUrl("javascript:(function() {" + 
    "var parent = document.getElementsByTagName('head').item(0);" + 
    "var script = document.createElement('script');" + 
    "script.type = 'text/javascript';" + 
    "script.innerHTML = function your_function(var1, var2){document.body.innerHTML = document.body.innerHTML.replace(var1, var2); return true;}" + 
    "parent.appendChild(script);" + 
    "your_function('"+link1+"','"+link2+"')" + ";})();"); 

AndroidのAPI。ここではいくつかの例:

webView.evaluateJavascript("(function() {" + 
     "var parent = document.getElementsByTagName('head').item(0);" + 
     "var script = document.createElement('script');" + 
     "script.type = 'text/javascript';" + 
     "script.innerHTML = function your_function(var1, var2){document.body.innerHTML = document.body.innerHTML.replace(var1, var2); return true;}" + 
     "parent.appendChild(script);" + 
     "return your_function('"+link1+"','"+link2+"');})();", new ValueCallback<String>() { 
    @Override 
    public void onReceiveValue(String value) { 
     Log.v("TAG", "Response from JS"+value) 
    } 
}); 
+0

ありがとうございますが、ビルドバージョンをチェックして、loadUrl( "")これは私にとってはうまくいかなかった。 –

+0

通常のブラウザで独自の例を試しましたか?つまり、これをhtmlページに入れて実行しますか?それは適切に機能していますか? – PMateus

関連する問題