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

时间:2013-06-17 11:03:43

标签: javascript android webview get android-asynctask

this SO question

有关

我想删除通知以及在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?

1 个答案:

答案 0 :(得分:2)

HttpGet类用于HTTP请求,因此网址必须以http://开头。

如果您使用MathJax作为TeX查看器,然后参考this Stack Overflow question,您可以将messageStyle: "none"添加到MathJax配置中。这种方式可以在任何环境中禁用MathJax的加载通知。