0

Android 4.0 でフォーム送信が機能しません。Android の下位バージョンとジェリー ビーンのような上位バージョンでは、同じコードが正常に動作します。document.myForm.submit() を呼び出すと、次のページに移動し、page.html?value= "" のように値が追加されます。しかし、ページが見つかりません

4

1 に答える 1

0

Android 4.0 は、「?」でもページの送信自体を受け入れません。HTML ファイルの一部と見なされます。WebViewClient をオーバーライドします

    private class MyWebViewClient extends WebViewClient {

    public String values = "";
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        if (url.contains("?")) {
            try {
                values = URLDecoder.decode(url, "UTF-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            url = url.replace("?", "%45");
            String args[] = url.split("%45");
            view.loadUrl(args[0]);
        }else{
            view.loadUrl(url);
        }
        return true;
    }


    @Override
    public void onPageFinished(WebView view, String url) {
        if(values.length()>0){
            if(url.contains("smartmodesresult.html")){
                mWebView.loadUrl("javascript:getUrlVars(\""+values+"\");");
            }
        }
        super.onPageFinished(view, url);
    }

}
于 2012-12-17T08:38:46.780 に答える