在WebView中使用JavaScript [英] Using Javascript in webview

查看:155
本文介绍了在WebView中使用JavaScript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以,在阅读围绕我读,我可以注入的JavaScript到加载网页,填写编程网站的形式,所以我尝试了以下内容:

So, reading around i read that i could "inject" javascript into a loaded webpage to programatically fill a website's form, so i tried the following:

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    WebView WebView;
    WebView = (WebView) findViewById(R.id.webview);
    WebView.setWebViewClient(new HelloWebViewClient());
    WebView.getSettings().setJavaScriptEnabled(true);
    WebView.getSettings().setBlockNetworkImage(false);
    WebView.loadUrl("http://www.kingsage.es");
    String username = "XXX";
    String Password = "YYY";
    WebView.loadUrl("javascript:document.getElementById('login_player').value='"+username+"';javascript:document.getElementById('login_passwd').value = '"+Password+"';");
}

然而,当我在模拟器上我得到一个错误,如果该网站无法找到运行此。如果我关掉第二个使用loadURL方法我下载该网站,但我需要填写编程的登录表单!我想我做错了什么,但我还没有找到,并回答阅读周围。任何帮助将是AP preciated !!

However, when i run this on the emulator i get an error as if the website could not be found. if i turn off the second loadUrl method i load the website, but i need to fill the login form programatically!, i figure i am doing something wrong but i haven't found and answer reading around. Any help would be appreciated!!

推荐答案

您需要等待网页加载(使用的 WebViewClient ),然后执行你的JavaScript

you need to wait until the webpage is loaded (use WebViewClient) then execute your javascript

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+"';");
   }
});

同时也要确保你只执行一次,而不是在每一个<一个href=\"http://developer.android.com/reference/android/webkit/WebViewClient.html#onPageFinished%28android.webkit.WebView,%20java.lang.String%29\">onPageFinished事件

这篇关于在WebView中使用JavaScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆