0
mWebView = (WebView) findViewById(R.id.htmlview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new DemoJavaScriptInterface(),
      "demo"); mWebView.loadUrl("file:///android_asset/demo.html");

我知道如何调用页面的javascript,但是如果页面没有我需要的js。如果我可以调用我写的js?

android的webview;

谢谢

4

2 回答 2

2

在您的网络视图中调用 javascript 的方式有很多

myWebView.loadUrl("javascript:testEcho('Hello World!')");

或者

public void run(final String scriptSrc) { 
    webView.post(new Runnable() {
        @Override
        public void run() { 
            webView.loadUrl("javascript:" + scriptSrc); 
        }
    }); 
}

或者

public void run(final String scriptSrc) { 
    webView.post(new Runnable() {
        @Override
        public void run() { 
            webView.loadUrl("javascript:" + scriptSrc); 
        }
    }); 
}

这个问题可以帮助我为我完成这项任务。

您还可以使用 WebViewClient来调用 java 脚本。

webView.setWebViewClient(new WebViewClient(){
   @Override
  public void onPageFinished (WebView webView, String url)
  {


         webView.loadUrl("javascript:document.getElementById('login_player').value='"+username+"';javascript:document.getElementById('login_passwd').value = '"+Password+"';");
      }
     });

如需更多帮助,您还可以查看此链接

于 2013-03-23T18:03:32.867 回答
2

以前没有这样做过,但这对我来说看起来不错:How to append additional text with existing html content in android?

它说,将页面加载到您的 WebView 后,您可以通过调用来执行 JavaScript myWebView.loadUrl("javascript:alert('My JavaScript Call')");

于 2013-03-23T16:50:33.433 回答