xx-common
Version:
the functions of yd common
48 lines (47 loc) • 1.37 kB
text/typescript
function setupWebViewJavascriptBridge(callback: {
(bridge: any): void;
(bridge: any): void;
(arg0: any): any;
}) {
if (window.WebViewJavascriptBridge) {
return callback(window.WebViewJavascriptBridge);
}
if (window.WVJBCallbacks) {
return window.WVJBCallbacks.push(callback);
}
window.WVJBCallbacks = [callback];
let WVJBIframe = document.createElement("iframe");
WVJBIframe.style.display = "none";
WVJBIframe.src = "https://__bridge_loaded__";
document.documentElement.appendChild(WVJBIframe);
setTimeout(() => {
document.documentElement.removeChild(WVJBIframe);
}, 0);
}
export default {
callhandler(name: string, data: {}, callback: undefined) {
setupWebViewJavascriptBridge(function (bridge: {
callHandler: (arg0: any, arg1: any, arg2: any) => void;
}) {
bridge.callHandler(name, data, callback);
});
},
registerhandler(
name: any,
callback: {
(data: any, responseCallback: (arg0: string) => void): void;
(arg0: any, arg1: any): void;
}
) {
setupWebViewJavascriptBridge(function (bridge: {
registerHandler: (
arg0: any,
arg1: (data: any, responseCallback: any) => void
) => void;
}) {
bridge.registerHandler(name, function (data: any, responseCallback: any) {
callback(data, responseCallback);
});
});
},
};