1var IS_CLIENT_SIDE = typeof window !== 'undefined';
2var IS_ANDROID_WEBVIEW = Boolean(IS_CLIENT_SIDE && window.AndroidBridge);
3var IS_IOS_WEBVIEW = Boolean(
4 IS_CLIENT_SIDE &&
5 window.webkit &&
6 window.webkit.messageHandlers &&
7 window.webkit.messageHandlers.VKWebAppClose
8);
9
10var IS_WEB = IS_CLIENT_SIDE && !IS_ANDROID_WEBVIEW && !IS_IOS_WEBVIEW;
11
12var androidBridge = IS_CLIENT_SIDE ? window.AndroidBridge : undefined;
13var iosBridge = IS_IOS_WEBVIEW ? window.webkit.messageHandlers : undefined;
14
15function _bridgeSend(method, props) {
16 if (androidBridge && androidBridge[method]) {
17 androidBridge[method](JSON.stringify(props));
18 }
19
20 else if (iosBridge && iosBridge[method] && typeof iosBridge[method].postMessage === 'function') {
21 iosBridge[method].postMessage(props);
22 }
23}
24
25function _bridgeSupports(method) {
26 if (IS_ANDROID_WEBVIEW) {
27 return androidBridge && typeof androidBridge[method] === 'function';
28 } else if (IS_IOS_WEBVIEW) {
29 return iosBridge && iosBridge[method] && typeof iosBridge[method].postMessage === 'function';
30 }
31
32 return false;
33}
34
35var IS_BRIDGE_AVAILABLE = !IS_WEB && _bridgeSupports('VKWebAppConversionHit');
36
37(function(w) {
38 if (w.fastXDM) return;
39
40 var handlers = {};
...
</html>