zoukankan      html  css  js  c++  java
  • 安卓ios和angularjs相互调用解决首次调用ios传递标题失败的问题

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

  • 相关阅读:
    codeforces 501 C,D,E
    bzoj 3172 单词 ac自动机|后缀数组
    HDU2459 后缀数组+RMQ
    POJ 3294 二分找超过一半字符串中存在的子串
    头文件
    python爬取文本
    python爬取图片
    NEW
    dsu on tree 练习题
    lzz分块+莫队
  • 原文地址:https://www.cnblogs.com/kbnet/p/6921770.html
Copyright © 2011-2022 走看看