/** * webview接口 */ /*global Common: true, $: false,jQuery:false,template:false,console:false , starcorExt:false,starcor:false*/ (function(){ var oldStarcorExt = starcorExt; starcorExt = { _setCallbackResult: function(idx,ret) { oldStarcorExt._setCallbackResult(idx,ret); }, _execAndroidFunc: function(func,args) { return oldStarcorExt._execAndroidFunc(func,args); } }; // starcorExt._invokeCallback = function(name, args, returnIdx) { var func = this._callbacks[name]; console.log("starcorExt._invokeCallback func:"+func+"args:"+args); if(args!=null){ var item0 = args[0]; console.log("item0.type:"+typeof(item0.type)); if(typeof(item0.type)=="undefined"){ args=JSON.parse(args); console.log("args:"+args); } } var ret = null; try { var invokeArgs = []; for( var idx in args ) { var item = args[idx]; console.log("item:"+item+"idx:"+idx); console.log("item.type:"+item.type+",item.value:"+item.value); switch(item.type) { case "number": invokeArgs.push(Number(item.value)); break; case "string": invokeArgs.push(String(item.value)); break; case "boolean": invokeArgs.push("true".toLowerCase() == item.value); break; } } ret = func.apply(this, invokeArgs); } catch (e) {} starcorExt._setCallbackResult(returnIdx, ret); }; starcorExt._addCallback = function(callback) { var callbackIdx = String(starcorExt._callback_counter++); this._callbacks[callbackIdx] = callback; return callbackIdx; }; starcorExt._callback_counter = 0; starcorExt._callbacks = {}; // 调用浏览器功能,参数依cmd类型而定 starcorExt.exec = function() { var args = []; for(var idx=0;idx