问题描述
- Android在webview上打开链接无法打开
-
我用httppost方法登陆教务处后用getEntity()取得数据后转成String类型的代码,然后用responseText.loadDataWithBaseURL(null, response, "text/html", "utf-8", null);加载这些代
码,html代码的内容能正常显示,但是单击网页的链接却没有反应,我查看源代码发现链接是
javascript:window.open('/student/showpubnewinlogin.asp?id=51这样的形式写的.链接并不完全.前面没有http://172.18.172.3这一段
我尝试使用shouldOverrideUrlLoading,单击依旧无反应
然后使用
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) { // TODO 自动生成的方法存根 newWebView = new WebView(view.getContext()); view.addView(newWebView); WebSettings settings = newWebView.getSettings(); settings.setJavaScriptEnabled(true); newWebView.setWebViewClient(new WebViewClient());// 这个setWebViewClient要加上,否则window.open弹出浏览器打开。 newWebView.setWebChromeClient(this); WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj; transport.setWebView(newWebView); resultMsg.sendToTarget(); return true;
我只想在单击链接时能调用浏览器打开链接.请问该怎么办.是以为使用了loadDataWithBaseURL所以打不开链接吗?
还有一个问题,就是在单击一个连接的时候,所有的链接都会变紫.就是单击一个,全部都会变成已点击的状态.图上就是
解决方案
// 设置支持javascript
webView.getSettings().setJavaScriptEnabled(true);
// 添加事件
/*
* webView.loadUrl("file:///android_asset/wst.html"); Button btn =
* (Button) findViewById(R.id.btn_add); btn.setOnClickListener(l);
*/
// 启动缓存
webView.getSettings().setAppCacheEnabled(true);
// 设置缓存模式
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
// 加载网页
webView.loadUrl("http://zhidao.baidu.com/question/1797038222865379867.html?entry=qb_ihome_tag");
// 在当前的浏览器中响应
webView.setWebViewClient(new WebViewClient());//
时间: 2024-11-03 11:58:11