在安卓手机上,如果直接window.open(url), 在app中点击外部链接没有任何反应。如果需要通过apk去打开手机本身的浏览器,需要借助InAppBrowser插件
1、安装InAppBrowser插件
安装:https://github.com/apache/cordova-plugin-inappbrowser
执行命令:ionic plugin add cordova-plugin-inappbrowser
简而言之,就是用window.cordova.InAppBrowser.open替换window.open
2、在应用程序启动的时候判断window.cordova是否存在,如果是重写window.open方法
1 app.run(function ($ionicPlatform) { 2 $ionicPlatform.ready(function () { 3 //判断是否存在window.cordova 4 if (window.cordova && window.cordova.InAppBrowser) { 5 window.open = window.cordova.InAppBrowser.open; 6 } 7 }); 8 })
3、在control.js中声明方法
1 $scope.openLink = function (url) { 2 url=url+"?userId="+locals.get("userId")+"&role="+locals.get("role"); //在URL后面加对应参数 3 window.open(url, '_self','location=no'); 4 }
4、在网页中调用
1 <ion-tab title="视图" icon-off="ion-social-windows-outline" icon-on="ion-social-windows-outline" ng-switch-when="0" ng-click="openLink('http:/www.xxx.com/index.html');"> 2 <ion-nav-view name="tab-unitView"></ion-nav-view> 3 </ion-tab>