设为首页 加入收藏

TOP

安卓ios和angularjs相互调用解决首次调用ios传递标题失败的问题
2017-10-13 10:50:16 】 浏览:7980
Tags:安卓 ios angularjs 相互 调用 解决 传递 标题 失败 问题

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方法就可以保证标题显示

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇sChart.js:一个小型简单的图表库 下一篇如何通过JS实现简单抖动效果

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目