关闭

android webView框架Web端

202人阅读 评论(0) 收藏 举报
分类:
/*******插件******/
var WebPlugin = {};

WebPlugin.callMap = {};

WebPlugin.callMap[id] = {
success:success,
error:error
}


callMap.id1:{ success:success,error:error}//WebPlugin.callMap success成功回调函数 error失贩回调函数
,callMap.id2:{ success:success,error:error}
...
,exec:function
,callback:function
,onlyCall:function
,removeId:function
,getId:function




}//WebPlugin


/**调用后反馈,下次根据id调用 type为"sucess或error*/
WebPlugin.callback = function(type, id, args){
var map = WebPlugin.callMap[id];
if(map != null){
if(map[type] != null){
map[type](args);
}

}

try{

delete WebPlugin.callMap[id];
}catch(e){

}
}




/*******插件******/
var WebPlugin = {};
WebPlugin.id = 0;
WebPlugin.callMap = {};
/**获取调用时ID*/
WebPlugin.getId = function(){
return new Date().getTime() + '_' + (WebPlugin.id++);

}


/**调用插件*/
WebPlugin.exec = function(plugin, argObj, success, error){
var id = WebPlugin.getId();
WebPlugin.callMap[id] = {
success:success,
error:error
}
plugin = plugin.split('.');
//plugin[0]对应插件,plugin[1]对应插件中的分支
_JavaWebPlugin.call(plugin[0], plugin[1], json2str(argObj), id);
}






/**仅调用成功函数,下次根据id不能调用*/
WebPlugin.callback = function(type, id, args){
var map = WebPlugin.callMap[id];
if(map != null){
if(map[type] != null){
map[type](args);
}
}
try{
delete WebPlugin.callMap[id];
}catch(e){

}
}
/**仅调用成功函数,下次根据id还能调用*/
WebPlugin.onlyCall = function(id, args){
var map = WebPlugin.callMap[id];
if(map != null){
if(map['success'] != null){
map['success'](args);
}
}
}
/**移出尖,页面不在相应回调函数*/
WebPlugin.removeId = function(id){
try{
delete WebPlugin.callMap[id];
}catch(e){

}
}


WebPlugin.call调用java本地代码的入口


CallbackContext回调页面的方法
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:123125次
    • 积分:2818
    • 等级:
    • 排名:第12791名
    • 原创:102篇
    • 转载:481篇
    • 译文:0篇
    • 评论:5条
    最新评论