Android WebView: javascript执行后如何加载页面

Android WebView: how to load page after javascript execution

本文关键字:加载 何加载 WebView javascript 执行 Android      更新时间:2023-09-26

关于这个问题,

我想删除通知以及在android的WebView中显示TeX时发生的闪烁。

我尝试了AsyncTask方法,预加载页面,然后"下载"它,在加载数据到WebView之前,但我卡住了一个IllegalStateException:目标主机不能为空,或在参数中设置。此错误来自以下代码:

    protected String doInBackground(String... url) {
        String r = "";
        try {
            HttpClient hc = new DefaultHttpClient();
            HttpGet get = new HttpGet(URLEncoder.encode(url[0], "UTF-8"));
            // get.setHeader("host", "http://myapp");
            HttpResponse hr = hc.execute(get);
        ...
    }

注释掉的行是我试图修复这个错误,但从未成功的行。

现在我想我不能绕过这个,因为我正在加载的url[0]是在形式:javascript:somescript(input)从存储在我的资产的JS文件执行,也许HttpGet需要一个web服务器?

如何隐藏通知并在更新WebView之前完成JavaScript ?

HttpGet类是针对HTTP请求的,所以URL必须以http://开头。

如果您使用MathJax作为TeX查看器,那么参考这个Stack Overflow问题,您可以将messageStyle: "none"添加到MathJax配置中。这样可以在任何环境中禁用MathJax的加载通知。