phonegap中http链接自动调用本地浏览器解决办法

首先,个人觉得phonegap这样的设计是合理的,当你使用基于phonegap的应用程序,虽然用的是html+js,但是开发的却是本地应用了,所以在本地应用中遇到http协议的链接调用浏览器打开是合理的。

只是这种合理带来了不方便,尤其当你只用phonegap做一个壳,去浏览移动设备的网站时。使用jquerymobile可以解决这个问题,jqm会将本域内的http请求使用ajax传输,得到的结果再放入DOM中,个人推荐使用jqm的这种方式,处理灵活。

下面给一个一劳永逸的方式,网上目前我还没有搜到这种方式。

 下面是类似官方的示例,其中phonegap我用的是apache的cordova


import android.os.Bundle;
import org.apache.cordova.*;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public  class WebViewer  extends DroidGap{
    @Override
     public  void onCreate(Bundle savedInstanceState){
         super.onCreate(savedInstanceState);
         super.loadUrl("http://demo.wanban.cc/w3g");
    }
}  

在上面的基础上进行修改,将phonegap的webViewClient对象重新赋值一个新对象,并在新对象中重写shouldOverrideUrlLoading方法。


import android.os.Bundle;
import org.apache.cordova.*;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public  class WebViewer  extends DroidGap{
    @Override
     public  void onCreate(Bundle savedInstanceState){
         super.onCreate(savedInstanceState);
         super.loadUrl("http://demo.wanban.cc/w3g");

         super.webViewClient= new WebViewClient(){
             public  boolean shouldOverrideUrlLoading(WebView view, String url){
                view.loadUrl(url);
                 return  true;
            }
        };
    }
}

转载于:https://www.cnblogs.com/hashtag/archive/2012/04/02/2429665.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值