UNPKG

@ctsj/webviewjavascriptbridge

Version:

和iOS和Android进行桥接通信的JavaScript实现

3 lines (2 loc) 1.22 kB
var DEFAULT_BROWSER_BRIDGE_IMPL={callHandler:function(e,i,n){n()},registerHandler:function(e,i){}};function setupiOSWebViewJavascriptBridge(e){if(window.WebViewJavascriptBridge)return e(window.WebViewJavascriptBridge);if(window.WVJBCallbacks)return window.WVJBCallbacks.push(e);window.WVJBCallbacks=[e];var i=document.createElement("iframe");i.style.display="none",i.src="wvjbscheme://__BRIDGE_LOADED__",document.documentElement.appendChild(i),setTimeout(function(){document.documentElement.removeChild(i)},0)}function setupAndroidWebViewJavascriptBridge(e){window.WebViewJavascriptBridge?e(window.WebViewJavascriptBridge):document.addEventListener("WebViewJavascriptBridgeReady",function(){e(window.WebViewJavascriptBridge)},!1)}export default function(n){return new Promise(function(i){var e=document.documentElement.getAttribute("platform")||"browser";"iOS"===(window.$platform=e)?setupiOSWebViewJavascriptBridge(function(e){window.$bridge=e,i(window.$bridge)}):"Android"===e?setupAndroidWebViewJavascriptBridge(function(e){window.$bridge=e,window.$bridge.init(function(e,i){}),i(window.$bridge)}):"browser"===e&&(window.$bridge=n||DEFAULT_BROWSER_BRIDGE_IMPL,i(window.$bridge))})} //# sourceMappingURL=index.js.map