268 lines
7.5 KiB
JavaScript
268 lines
7.5 KiB
JavaScript
!(function (e, n) {
|
|
"object" == typeof exports && "undefined" != typeof module
|
|
? (module.exports = n())
|
|
: "function" == typeof define && define.amd
|
|
? define(n)
|
|
: ((e = e || self).webUni = n());
|
|
})(this, function () {
|
|
"use strict";
|
|
try {
|
|
var e = {};
|
|
Object.defineProperty(e, "passive", {
|
|
get: function () {
|
|
!0;
|
|
},
|
|
}),
|
|
window.addEventListener("test-passive", null, e);
|
|
} catch (e) {}
|
|
var n = Object.prototype.hasOwnProperty;
|
|
|
|
function t(e, t) {
|
|
return n.call(e, t);
|
|
}
|
|
var i = [],
|
|
a = function (e, n) {
|
|
var t = {
|
|
options: {
|
|
timestamp: +new Date(),
|
|
},
|
|
name: e,
|
|
arg: n,
|
|
};
|
|
if (window.__dcloud_weex_postMessage || window.__dcloud_weex_) {
|
|
if ("postMessage" === e) {
|
|
var a = {
|
|
data: [n],
|
|
};
|
|
return window.__dcloud_weex_postMessage
|
|
? window.__dcloud_weex_postMessage(a)
|
|
: window.__dcloud_weex_.postMessage(JSON.stringify(a));
|
|
}
|
|
var o = {
|
|
type: "WEB_INVOKE_APPSERVICE",
|
|
args: {
|
|
data: t,
|
|
webviewIds: i,
|
|
},
|
|
};
|
|
window.__dcloud_weex_postMessage
|
|
? window.__dcloud_weex_postMessageToService(o)
|
|
: window.__dcloud_weex_.postMessageToService(JSON.stringify(o));
|
|
}
|
|
if (!window.plus)
|
|
return window.parent.postMessage(
|
|
{
|
|
type: "WEB_INVOKE_APPSERVICE",
|
|
data: t,
|
|
pageId: "",
|
|
},
|
|
"*"
|
|
);
|
|
if (0 === i.length) {
|
|
var r = plus.webview.currentWebview();
|
|
if (!r) throw new Error("plus.webview.currentWebview() is undefined");
|
|
var d = r.parent(),
|
|
s = "";
|
|
(s = d ? d.id : r.id), i.push(s);
|
|
}
|
|
if (plus.webview.getWebviewById("__uniapp__service"))
|
|
plus.webview.postMessageToUniNView(
|
|
{
|
|
type: "WEB_INVOKE_APPSERVICE",
|
|
args: {
|
|
data: t,
|
|
webviewIds: i,
|
|
},
|
|
},
|
|
"__uniapp__service"
|
|
);
|
|
else {
|
|
var w = JSON.stringify(t);
|
|
plus.webview
|
|
.getLaunchWebview()
|
|
.evalJS(
|
|
'UniPlusBridge.subscribeHandler("'
|
|
.concat("WEB_INVOKE_APPSERVICE", '",')
|
|
.concat(w, ",")
|
|
.concat(JSON.stringify(i), ");")
|
|
);
|
|
}
|
|
},
|
|
o = {
|
|
navigateTo: function () {
|
|
var e =
|
|
arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
|
|
n = e.url;
|
|
a("navigateTo", {
|
|
url: encodeURI(n),
|
|
});
|
|
},
|
|
navigateBack: function () {
|
|
var e =
|
|
arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
|
|
n = e.delta;
|
|
a("navigateBack", {
|
|
delta: parseInt(n) || 1,
|
|
});
|
|
},
|
|
switchTab: function () {
|
|
var e =
|
|
arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
|
|
n = e.url;
|
|
a("switchTab", {
|
|
url: encodeURI(n),
|
|
});
|
|
},
|
|
reLaunch: function () {
|
|
var e =
|
|
arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
|
|
n = e.url;
|
|
a("reLaunch", {
|
|
url: encodeURI(n),
|
|
});
|
|
},
|
|
redirectTo: function () {
|
|
var e =
|
|
arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
|
|
n = e.url;
|
|
a("redirectTo", {
|
|
url: encodeURI(n),
|
|
});
|
|
},
|
|
getEnv: function (e) {
|
|
window.plus
|
|
? e({
|
|
plus: !0,
|
|
})
|
|
: e({
|
|
h5: !0,
|
|
});
|
|
},
|
|
postMessage: function () {
|
|
var e =
|
|
arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
|
|
a("postMessage", e.data || {});
|
|
},
|
|
},
|
|
r = /uni-app/i.test(navigator.userAgent),
|
|
d = /Html5Plus/i.test(navigator.userAgent),
|
|
s = /complete|loaded|interactive/;
|
|
var w = window.my && navigator.userAgent.indexOf("AlipayClient") > -1;
|
|
var u =
|
|
window.swan && window.swan.webView && /swan/i.test(navigator.userAgent);
|
|
var c =
|
|
window.qq &&
|
|
window.qq.miniProgram &&
|
|
/QQ/i.test(navigator.userAgent) &&
|
|
/miniProgram/i.test(navigator.userAgent);
|
|
var g =
|
|
window.tt &&
|
|
window.tt.miniProgram &&
|
|
/toutiaomicroapp/i.test(navigator.userAgent);
|
|
var v =
|
|
window.wx &&
|
|
window.wx.miniProgram &&
|
|
/micromessenger/i.test(navigator.userAgent) &&
|
|
/miniProgram/i.test(navigator.userAgent);
|
|
var p = window.qa && /quickapp/i.test(navigator.userAgent);
|
|
for (
|
|
var l,
|
|
_ = function () {
|
|
(window.UniAppJSBridge = !0),
|
|
document.dispatchEvent(
|
|
new CustomEvent("UniAppJSBridgeReady", {
|
|
bubbles: !0,
|
|
cancelable: !0,
|
|
})
|
|
);
|
|
},
|
|
f = [
|
|
function (e) {
|
|
if (r || d)
|
|
return (
|
|
window.__dcloud_weex_postMessage || window.__dcloud_weex_
|
|
? document.addEventListener("DOMContentLoaded", e)
|
|
: window.plus && s.test(document.readyState)
|
|
? setTimeout(e, 0)
|
|
: document.addEventListener("plusready", e),
|
|
o
|
|
);
|
|
},
|
|
function (e) {
|
|
if (v)
|
|
return (
|
|
window.WeixinJSBridge && window.WeixinJSBridge.invoke
|
|
? setTimeout(e, 0)
|
|
: document.addEventListener("WeixinJSBridgeReady", e),
|
|
window.wx.miniProgram
|
|
);
|
|
},
|
|
function (e) {
|
|
if (c)
|
|
return (
|
|
window.QQJSBridge && window.QQJSBridge.invoke
|
|
? setTimeout(e, 0)
|
|
: document.addEventListener("QQJSBridgeReady", e),
|
|
window.qq.miniProgram
|
|
);
|
|
},
|
|
function (e) {
|
|
if (w) {
|
|
document.addEventListener("DOMContentLoaded", e);
|
|
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 (u)
|
|
return (
|
|
document.addEventListener("DOMContentLoaded", e),
|
|
window.swan.webView
|
|
);
|
|
},
|
|
function (e) {
|
|
if (g)
|
|
return (
|
|
document.addEventListener("DOMContentLoaded", e),
|
|
window.tt.miniProgram
|
|
);
|
|
},
|
|
function (e) {
|
|
if (p) {
|
|
window.QaJSBridge && window.QaJSBridge.invoke
|
|
? setTimeout(e, 0)
|
|
: document.addEventListener("QaJSBridgeReady", e);
|
|
var n = window.qa;
|
|
return {
|
|
navigateTo: n.navigateTo,
|
|
navigateBack: n.navigateBack,
|
|
switchTab: n.switchTab,
|
|
reLaunch: n.reLaunch,
|
|
redirectTo: n.redirectTo,
|
|
postMessage: n.postMessage,
|
|
getEnv: n.getEnv,
|
|
};
|
|
}
|
|
},
|
|
function (e) {
|
|
return document.addEventListener("DOMContentLoaded", e), o;
|
|
},
|
|
],
|
|
m = 0;
|
|
m < f.length && !(l = f[m](_));
|
|
m++
|
|
);
|
|
l || (l = {});
|
|
var E = "undefined" != typeof webUni ? webUni : {};
|
|
if (!E.navigateTo) for (var b in l) t(l, b) && (E[b] = l[b]);
|
|
return (E.webView = l), E;
|
|
});
|