在安卓手機上,如果直接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>