相关疑难解决方法(0)

Android Web-View:将本地Javascript文件注入远程网页

之前已经多次询问过,我浏览了所有内容,还没有明确的答案.

问题简化:是否可以将本地Javascript文件(从资产或存储)注入Android Web视图中加载的远程网页?我知道可以将这些文件注入Web-View中加载的本地Web页面(Assets HTML).

为什么我需要这个呢?:通过避免每次都下载较大的文件(如Js和CSS文件)来提高浏览体验.我想避免Web-View缓存.

javascript android caching webview

37
推荐指数
3
解决办法
5万
查看次数

自动填写webview中的字段

我已经看到这个问题浮现在互联网上,但我还没有找到一个有效的解决方案.基本上,我想加载我的应用程序并按下按钮; 然后按钮操作将在已经加载到webview中的网站中填写用户名和密码(或等待onPageFinished).最后,将激活登录页面上的提交按钮.

根据我的理解,这可以通过使用loadUrl(javascript)进行java注入来完成,但我不知道java命令将填充哪些字段.iOS的问题也是一样,但命令略有不同.

是否有可能在webivew中使用javascript做我要求的事情,或者我是否必须在没有像这样这样的webview的情况下做一个http-post ?

非常感谢您提供的任何帮助!

java android http-post webview android-webview

19
推荐指数
4
解决办法
4万
查看次数

19
推荐指数
3
解决办法
5万
查看次数

对于loadUrl上的javascript getElementById,Android WebView始终返回null

我尝试从android客户端应用程序填写webview中的表单.我知道它应该如何工作,但getElementById总是为我返回null.我在不同的网站上试过.

以下是www.google.com的示例.

MyWebView view = new MyWebView(this);
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl("http://www.google.com");
view.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView v, String url) {
        v.loadUrl(url);
        return true;
    }
    @Override
    public void onPageFinished(WebView v, String url) {
        v.loadUrl("javascript:document.getElementById('mib').value = 'aaa';");              
    }
});
setContentView(view);
Run Code Online (Sandbox Code Playgroud)

和MyWebView类(仅供参考).

class MyWebView extends WebView {
    Context context;
    public MyWebView(Context context) {
        super(context);
        this.context = context;
    }
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        // do some multi touch stuff
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我总是得到错误:

09-01 04:35:26.453: I/chromium(2962): [INFO:CONSOLE(1)] "Uncaught TypeError: Cannot set …
Run Code Online (Sandbox Code Playgroud)

javascript java android webview

9
推荐指数
2
解决办法
2万
查看次数