启用 javascript 时,我在 WebView 中拦截表单提交时遇到问题。我创建了一个小例子来演示这个问题。
test1.html
<html>
<body>
<h1>Test 1</h1>
<form action="http://111.222.33.44/test/test2.html" method="get">
<input type="text" name="text1" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
测试活动
public class TestActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d("Test app", "Intercepted");
return true;
}
});
webView.loadUrl("http://111.222.33.44/test/test1.html");
}
}
当我在 Android 4.x 上运行此应用程序时,单击提交按钮时会打印消息“已拦截”。当我在 Android 2.1 - 2.3.x 上运行此应用程序时,不会打印该消息。
如何在 Android 2.1 - 2.3.x 上拦截表单提交?
谢谢你。