uni.webview.1.5.2.js 3.4 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self).uni=n()}(this,function(){"use strict";function i(e,n){var i={options:{timestamp:+new Date},name:e,arg:n};if(!window.plus)return window.parent.postMessage({type:s,data:i,pageId:""},"*");if(0===d.length){var t=plus.webview.currentWebview();if(!t)throw new Error("plus.webview.currentWebview() is undefined");var o=t.parent(),a="";a=o?o.id:t.id,d.push(a)}var r=JSON.stringify(i);plus.webview.getWebviewById(u)?plus.webview.postMessageToUniNView({type:s,args:{data:i,webviewIds:d}},u):plus.webview.getLaunchWebview().evalJS('UniPlusBridge.subscribeHandler("'.concat(s,'",').concat(r,",").concat(JSON.stringify(d),");"))}var d=[],u="__uniapp__service",s="WEB_INVOKE_APPSERVICE",n={navigateTo:function(e){var n=(0<arguments.length&&void 0!==e?e:{}).url;i("navigateTo",{url:encodeURI(n)})},navigateBack:function(e){var n=(0<arguments.length&&void 0!==e?e:{}).delta;i("navigateBack",{delta:parseInt(n)||1})},switchTab:function(e){var n=(0<arguments.length&&void 0!==e?e:{}).url;i("switchTab",{url:encodeURI(n)})},reLaunch:function(e){var n=(0<arguments.length&&void 0!==e?e:{}).url;i("reLaunch",{url:encodeURI(n)})},redirectTo:function(e){var n=(0<arguments.length&&void 0!==e?e:{}).url;i("redirectTo",{url:encodeURI(n)})},getEnv:function(e){window.plus?e({plus:!0}):e({h5:!0})},postMessage:function(e){i("postMessage",(0<arguments.length&&void 0!==e?e:{}).data||{})}},t=/uni-app/i.test(navigator.userAgent),o=/complete|loaded|interactive/;var a=window.my&&-1<navigator.userAgent.indexOf("AlipayClient");var r=window.swan&&window.swan.webView&&/swan-baiduboxapp/i.test(navigator.userAgent);var w=window.qq&&window.qq.miniProgram&&/QQ/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var c=window.tt&&window.tt.miniProgram&&/toutiaomicroapp/i.test(navigator.userAgent);var g=window.wx&&window.wx.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);for(var e,v=function(){window.UniAppJSBridge=!0,document.dispatchEvent(new CustomEvent("UniAppJSBridgeReady",{bubbles:!0,cancelable:!0}))},f=[function(e){if(t)return setTimeout(function(){window.plus&&o.test(document.readyState)?e():document.addEventListener("plusready",e)},0),n},function(e){if(g)return setTimeout(function(){window.WeixinJSBridge&&window.WeixinJSBridge.invoke?e():document.addEventListener("WeixinJSBridgeReady",e)},0),window.wx.miniProgram},function(e){if(w)return setTimeout(function(){window.QQJSBridge&&window.QQJSBridge.invoke?e():document.addEventListener("QQJSBridgeReady",e)},0),window.qq.miniProgram},function(e){if(a){setTimeout(function(){document.addEventListener("DOMContentLoaded",e)},0);var n=window.my;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){if(r)return setTimeout(function(){document.addEventListener("DOMContentLoaded",e)},0),window.swan.webView},function(e){if(c)return setTimeout(function(){document.addEventListener("DOMContentLoaded",e)},0),window.tt.miniProgram},function(e){return setTimeout(function(){document.addEventListener("DOMContentLoaded",e)},0),n}],m=0;m<f.length&&!(e=f[m](v));m++);e=e||{};var p="undefined"!=typeof uni?uni:{};return p.navigateTo?p.miniProgram=e:Object.assign(p,e,{miniProgram:e}),p});