2 baidu 24030627 baidu_24030627 于 2014.11.29 18:49 提问

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;

这个方法后出现
alt text

我只想在单击链接时能调用浏览器打开链接.请问该怎么办.是以为使用了loadDataWithBaseURL所以打不开链接吗?

还有一个问题,就是在单击一个连接的时候,所有的链接都会变紫.就是单击一个,全部都会变成已点击的状态.图上就是

1个回答

u010945409
u010945409   2014.12.09 11:38

// 设置支持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());//
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!