【quickhybrid】架构一个Hybrid框架(三)

本文介绍H5页面如何通过JS调用Native API实现与原生应用的交互,包括打开新页面、设置标题及关闭页面等操作,并提供具体代码示例。

【上一篇】

 

应用示例:

 

打开新页面 -》page模块-》open方法

HTML:

 

<a class="mui-navigate-right api-class" id="{{DOMAIN_URL}}/app/knowledge?is_cs=1"  href="javascript:void(0);">指南解读</a>

 

 
JS执行API:' + id);

    //callbackId:病例集',

        // 额外数据  是对于方法传递的额外参数,原生容器会解析成JSONObject

        data: {



        },

        success: function(result) {

            //所有的API调用错误都会走失败回调

            console.log(error);

            showTips('<span style="" font-size:13.5pt;"="">失败:' + JSON.stringify(error));

        }

    });

};

 

大致流程:H5页面:JS调起对应的API,与Native通信,API实现JSBridge的通信,在对应环境的API中可以添加模块和方法。打开新页面,最简单的方式就是quick.page.open(‘http://www.baidu.com?..’),但是总要有调起API的行为。

打开新页面 -》page模块-》openLocal方法 

对于quick.page.openLocal():打开应用内的原生页面,

写法详见https://quickhybrid.github.io/quickhybrid-doc/api/api_page/api_page.html

 

打开应用内原生页面

// 示例页面不一定可以打开,仅供参考
var className = quick.os.android ? 'com.epoint.demo.view.ComponentCaseActivity' : 'EPTFileSelectViewController';

quick.page.openLocal({
    className: className,
    isOpenExist: 0,
    data: {
        key1: 'value1'
    },
    success: function(result) {
        /**
         * 目标页面关闭后会触发这个回调
         * 参数需要原生页面主动设置result才能正常返回
         * {
                resultData: '可能是json,也可能是普通字符串,要看怎么传参的'
           }
         */

    },
    error: function(error) {}
});

  

 

对于quick.navigator.setTitle方法,可以仿照上述调起API,也可以在script标签中直接写quick.navigator.setTitle(‘我的知识库’),这样当页面加载的时候就会自动控制标题为‘我的知识库’,而不用点击触发quick中的API。

   对于quick.page.close方法,,有很多种传参的方式,本次开发使用的是兼容传参,即quick.page.close(‘value’)。

 

其他API调用案例详情,请参考-》手册 -》API

 

正事说完了,在这里宣传一下朋友的店铺:一个新开的汉服的店铺,满足小时候披床单的愿望,男女都有哟。。。

店铺名称:汉衿凤韵,点击进店铺,欢迎选购哟,说明了解来源可以优惠!!!

 

 

 

 

 

 

 

 

 

 

文档链接:https://quickhybrid.github.io/quickhybrid-doc/

github上的源码:Android版   IOS版

【下一篇】

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值