【发布时间】:2017-12-16 23:10:43
【问题描述】:
我在浏览网页时遇到了问题。我有一个使用表单加载 webppage 的 webview。表单有一个 target _blank 属性。我需要 webview 来打开一个新的 webview 窗口,并加载表单的操作 url。我已经应用了以下代码
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
web = (WebView) findViewById(R.id.webview1);
progressBar = (ProgressBar) findViewById(R.id.progressBar1);
web = new WebView(this);
WebSettings settings = web.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setSupportMultipleWindows(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
web.loadUrl("https://www.example.com/formpage");
web.setWebViewClient(new myWebClient());
web.setWebChromeClient(new WebChromeClient()
{
/* multiple webview window overload method - start */
public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg)
{
WebView newWebView = new WebView(view.getContext());
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(newWebView);
resultMsg.sendToTarget();
return true;
}
/* multiple webview window overload method - end */
});
setContentView(web);
}
当我点击表单提交按钮时没有任何反应。
【问题讨论】:
-
将 newWebView 添加到对话框中会起作用