同时开发Android和ios应用,使用WebView同时开发Android和IOS应用-Go语言中文社区

JSBridgeDemo

使用WebView,Android(JsBridge) ,IOS(WebViewJavascriptBridge)开发同时开发Android和IOS版本App应用

Html/Javascript代码

function marryClick() {

var bridgeModel = {};

bridgeModel.cmd = "alert";

bridgeModel.succeed = true;

bridgeModel.message = "网页说:Java哥哥,我想和你结婚";

var responseData = JSON.stringify(bridgeModel);

triggerJavaMethod(responseData);

}

function demoClick() {

var bridgeModel = {};

bridgeModel.cmd = "openDemo";

bridgeModel.succeed = true;

bridgeModel.message = "";

var responseData = JSON.stringify(bridgeModel);

triggerJavaMethod(responseData);

}

function triggerJavaMethod(responseData) {

//调用本地java方法

window.WebViewJavascriptBridge.callHandler(

'commandFromWeb'

, responseData

, function (responseData) {

var bridgeModel = $.parseJSON(responseData);

if (bridgeModel.succeed) {

alert(bridgeModel.message);

}

else {

}

}

);

}

//注册事件监听

function connectWebViewJavascriptBridge(callback) {

if (window.WebViewJavascriptBridge) {

callback(WebViewJavascriptBridge)

} else {

document.addEventListener(

'WebViewJavascriptBridgeReady'

, function () {

callback(WebViewJavascriptBridge)

},

false

);

}

}

//注册回调函数,初始化函数

connectWebViewJavascriptBridge(function (bridge) {

bridge.init(function (message, responseCallback) {

//console.log('JS got a message', message);

//var data = {

// 'Javascript Responds': 'Wee!'

//};

//console.log('JS responding with', data);

//responseCallback(data);

});

bridge.registerHandler("commandFromJava", function (data, responseCallback) {

var bridgeModel = $.parseJSON(data);

alert(bridgeModel.message);

var bridgeModel = {};

bridgeModel.cmd = "alert";

bridgeModel.succeed = true;

bridgeModel.message = "网页说:Java哥哥,我也喜欢你";

var responseData = JSON.stringify(bridgeModel);

responseCallback(responseData);

});

})

安装Demo

687474703a2f2f3778703876342e636f6d312e7a302e676c622e636c6f7564646e2e636f6d2f446f6c6f61644a5342726964676544656d6f322e706e67

首页

687474703a2f2f3778703876342e636f6d312e7a302e676c622e636c6f7564646e2e636f6d2f4a5342726964676544656d6f312e706e67

登录页面

687474703a2f2f3778703876342e636f6d312e7a302e676c622e636c6f7564646e2e636f6d2f4a5342726964676544656d6f322e706e67

列表页面

687474703a2f2f3778703876342e636f6d312e7a302e676c622e636c6f7564646e2e636f6d2f4a5342726964676544656d6f332e706e67

JS调用Java退出Activity

687474703a2f2f3778703876342e636f6d312e7a302e676c622e636c6f7564646e2e636f6d2f4a5342726964676544656d6f342e706e67

开源Github地址:点击打开链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值