//PG Lite Version(function() { varPG ={iosbridge:NULL, Callbackid:0, callbacks: [], Commandqueue: [], commandqueueflushing:false}, UA=navigator.useragent, Isios= (Ua.indexof ("IPhone") >-1 | | ua.indexof ("IPAD") >-1 | | ua.indexof ("IPOD") >-1)?true:false; Pg.getandclearqueuedcommands=function () { varCommandqueue_json =json.stringify (Pg.commandqueue); Pg.commandqueue= []; returnCommandqueue_json; }; Pg.exec=function(method, callback, args) {varCallbackid = ' '; if(typeof(callback) = = "Undefined") {Callback=NULL; } if(typeof(args) = = "Undefined") {args= {}; } if(Callback &&typeof(callback) = = ' function ') {Callbackid= method + pg.callbackid++; Pg.callbacks[callbackid]=callback; } varobj ={method:method, callbackid:callbackid, Args:args}; if(Isios) {if(Pg.iosbridge = =NULL) {Pg.iosbridge= Document.createelement ("iframe"); PG.iosBridge.setAttribute ("Style", "Display:none;"); PG.iosBridge.setAttribute ("Height", "0px"); PG.iosBridge.setAttribute ("width", "0px"); PG.iosBridge.setAttribute ("frameborder", "0"); Document.documentElement.appendChild (Pg.iosbridge); } PG.commandQueue.push (Json.stringify (obj)); if(!pg.commandqueueflushing) {PG.iosBridge.src= ' Pg://ready '; } } Else if(WINDOW.COMJS) {//AndroidWindow.comjs.notify (' pg://' +encodeuricomponent (json.stringify (obj))); } Else{Console.log ("Non-iOS or Android platform, not appropriate"); } }; Pg.callback=function(Callbackid, args) {if(Pg.callbacks[callbackid]) {Try { vartemp =decodeuricomponent (args), obj=Json.parse (temp); Pg.callbacks[callbackid] (obj); } Catch(e) {Console.log ("Error in Success callback:" + callbackid + "=" +e); } DeletePg.callbacks[callbackid]; } }; if(typeof(window) = = = "Object" &&typeof(window.document) = = = "Object") {window. PG=PG; } })();
WebView page and Shell Communication Library (lite version)