1.angular 調用客戶端方法放在 try catch中 try { js_invoke.showShareDialog(angular.toJson(obj)); // 在這裡放客戶端的方法即可 } catch(e) { console.log('Recommend share',obj); ...
1.angular 調用客戶端方法放在 try catch中
try {
js_invoke.showShareDialog(angular.toJson(obj)); // 在這裡放客戶端的方法即可
} catch(e) {
console.log('Recommend share',obj);
}
2.客戶端調用angular的方法,註意方法需全局可以才能正常調用
在首頁index.html中聲明方法
var goBack = function() { return false };
在具體調用的頁面使用
goBack = function() {
return true;
};
這裡先說下angular在每一頁都調用客服端getWebTitle 方法給客戶端返回需要顯示標題的方法(getWebTitle為安卓ios自己定義的方法)
定義方法
function initPageTitle(title) { var records = { name: title }; try { js_invoke.getWebTitle(JSON.stringify(records)); } catch(e) {} } $scope.$on('$ionicView.enter', function() { //進入頁面及調用這個是ionic的方法 initPageTitle("首頁"); //在進入頁面前調用即可 });
在安卓端這樣調用是沒有問題的,在Ios中除首次進入其他時候調用也沒有問題
這裡需要註意在首次時 由於頁面還沒載入完方法已經執行所以ios返回的標題直接為空,解決該問題需要ios在頁面載入完成後主動調用angualrjs的方法獲取到標題
首頁增加 var iosPageTitle = function() { };
在首頁的controller 中寫iosPageTitle = function() { initPageTitle("首頁"); };
這樣ios載入完成後主動調用angular方法就可以保證標題顯示