1
var IS_CLIENT_SIDE = typeof window !== 'undefined';
2
var IS_ANDROID_WEBVIEW = Boolean(IS_CLIENT_SIDE && window.AndroidBridge);
3
var IS_IOS_WEBVIEW = Boolean(
4
IS_CLIENT_SIDE &&
5
window.webkit &&
6
window.webkit.messageHandlers &&
7
window.webkit.messageHandlers.VKWebAppClose
8
);
9
10
var IS_WEB = IS_CLIENT_SIDE && !IS_ANDROID_WEBVIEW && !IS_IOS_WEBVIEW;
11
12
var androidBridge = IS_CLIENT_SIDE ? window.AndroidBridge : undefined;
13
var iosBridge = IS_IOS_WEBVIEW ? window.webkit.messageHandlers : undefined;
14
15
function _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
25
function _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
35
var IS_BRIDGE_AVAILABLE = !IS_WEB && _bridgeSupports('VKWebAppConversionHit');
36
37
(function(w) {
38
if (w.fastXDM) return;
39
40
var handlers = {};
...
</html>