| 查看: 1086 | 回复: 0 | ||
[求助]
有人能看懂这个吗
|
|
// // CXJSBridge.js // CXJSBridge // // Created by Chao Xing on 12-3-1. // Copyright (c) 2012年 Chao Xing Technology Co., Ltd. All rights reserved. // (function(context){ function bridgeCall(src,callback) { iframe = document.createElement("iframe" ;iframe.style.display = "none"; iframe.src = src; var cleanFn = function(state){ console.log(state) try { iframe.parentNode.removeChild(iframe); } catch (error) {} if(callback) callback(); }; iframe.onload = cleanFn; document.documentElement.appendChild(iframe); } function JSBridge() { this.device="ios"; this.callbackDict = {}; this.notificationIdCount = 0; this.notificationDict = {}; var that = this; context.document.addEventListener('DOMContentLoaded',function(){ bridgeCall('jsbridge://NotificationReady',that.trigger('jsBridgeReady',{})); },false); } JSBridge.prototype = { constructor: JSBridge, //send notification to WebView postNotification: function(name, userInfo){ if(this.device == 'android'){ androidjsbridge.postNotification(name, JSON.stringify(userInfo)); } else { this.notificationIdCount++; this.notificationDict[this.notificationIdCount] = {name:name, userInfo:userInfo}; bridgeCall('jsbridge://PostNotificationWithId-' + this.notificationIdCount); } }, //pop the notification in the cache popNotificationObject: function(notificationId){ var result = JSON.stringify(this.notificationDict[notificationId]); delete this.notificationDict[notificationId]; return result; }, //trigger the js event trigger: function(name, userInfo) { if(this.callbackDict[name]){ var callList = this.callbackDict[name]; for(var i=0,len=callList.length;i<len;i++){ callList(userInfo); } } }, setDevice:function(device){ this.device = device; try{context._jsBridgeReady();}catch(e){} }, //bind js event bind: function(name, callback){ if(!this.callbackDict[name]){ //create the array this.callbackDict[name] = []; } this.callbackDict[name].push(callback); }, //unbind js event unbind: function(name, callback){ if(arguments.length == 1){ delete this.callbackDict[name]; } else if(arguments.length > 1) { if(this.callbackDict[name]){ var callList = this.callbackDict[name]; for(var i=0,len=callList.length;i<len;i++){ if(callList == callback){ callList.splice(i,1); break; } } } if(this.callbackDict[name].length == 0){ delete this.callbackDict[name]; } } } }; context.jsBridge = new JSBridge(); })(window); 发自小木虫Android客户端 |
» 猜你喜欢
溴的反应液脱色
已经有4人回复
参与限项
已经有5人回复
推荐一本书
已经有7人回复
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
所感
已经有4人回复












;
回复此楼