WebView中发送form请求 会弹出空白页

总是弹出空白页,在浏览器中和iphone上无此问题

觉得是android webview问题 查到了这样一个解决方案

先判定是否有空白页,截取到空白页后 就直接转向请求的地址

 1   webviewNavLayout = (RelativeLayout)findViewById(R.id.webviewNavLayout);
 2         webview = (WebView)findViewById(R.id.webviewLayout);
 3 
 4         webview.setWebViewClient(new WebViewClient()
 5         {
 6 
 7             @Override
 8             public void onPageFinished(WebView view, String url)
 9             {
10 
11                 // 页面加载完成后加载下面的javascript,修改页面中所有用target="_blank"标记的url(在url前加标记为“newtab”)
12                 view.loadUrl("javascript: var allLinks = document.getElementsByTagName('a'); if (allLinks) {var i;for (i=0; i<allLinks.length; i++) {var link = allLinks[i];var target = link.getAttribute('target'); if (target && target == '_blank') {link.setAttribute('target','_self');link.href = 'newtab:'+link.href;}}}");
13 
14             }
15 
16             @Override
17             public boolean shouldOverrideUrlLoading(WebView view, String url)
18             {
19                 if (url.startsWith("newtab:"))
20                 {
21                     view.loadUrl(url);
22 
23                 }
24 
25                 return true;
26 
27             }
28         });

 

posted on 2012-11-13 15:45  Tristan2012  阅读(1297)  评论(0编辑  收藏  举报