PageSourceSearch

https://webar.perfect365.com/jssf/P365-webar-min.js?v=14

js perfect365.com collected 2026-09-24 10:23:18 UTC 8,927 bytes, 6 lines download raw bytes

1/*!
2 * perfect365WebARlay
3 * Version 3.2.13
4 * zxa
5 */
6(function (a, b) { typeof exports === "object" && typeof module !== "undefined" ? (module.exports = b()) : typeof define === "function" && define.amd ? define(b) : (a.p365ARlay = b()) })(this, function (U) { var Q = { title: "", url: "https://webar.perfect365.com", appkey: "", sku: "", option: "dual", showBackButton: false, showSaveButton: false, elem: "", type: "overlay", customClass: "", themeName: "", target: "body", borderRadius: false, animation: true, allowOutsideClick: false, allowEscapeKey: false, allowEnterKey: false, showCloseButton: false, photoViewLarge: "default", showBorder: false, LoadingTxt: "", LoadCameraTxt: "", width: null, height: null, padding: 20, background: "#fff", onOpen: null, onClose: null }, D = function (c) { var a = {}; for (var b in c) { a[c[b]] = "pwebar-" + c[b] } return a }, H = D(["container", "shown", "iosfix", "modal", "overlay", "fade", "show", "hide", "noanimation", "close", "title", "content", "icon", "info", "iframe", "showoverlay", "showiframe", "bradius", "border", "closeblack", "closelight", "closepurple", "showOP", "hideOP"]), S = { previousWindowKeyDown: null, previousActiveElement: null }, L = function (c) { if (typeof document === "undefined") { console.error("p365ARlay requires document to initialize"); return } var d = document.createElement("div"), a = ('\n <div class="' + H.modal + '" tabindex="-1">\n   <h2 class="' + H.title + '" id="' + H.title + '"></h2>\n   <div id="' + H.content + '" class="' + H.content + '"><iframe id="' + H.iframe + '" name="' + H.iframe + '" class="' + H.iframe + '" allow="geolocation; microphone; camera" scrolling="no" align="center" marginheight=0  marginwidth=0 frameborder="0" src="" width="0" height="0"></iframe></div>\n   <div class="' + H.close + '"></div>\n </div>\n').replace(/(^|\n)\s*/g, ""); d.className = H.container + ""; d.style.width = 0; d.style.height = 0; d.innerHTML = a; if (c.type.toLowerCase() === "overlay") { var b = document.querySelector(c.target); if (!b) { console.warn("p365ARlay: Can't find the target \"" + c.target + '"'); targetElement = document.body } b.appendChild(d) } else { document.getElementById(c.elem).appendChild(d) } var f = e(); return f }, z = function () { return document.body.querySelector("." + H.container) }, e = function () { return z() ? z().querySelector("." + H.modal) : null }, O = function (a) { return z() ? z().querySelector("." + a) : null }, C = function (a) { return O(a) }, T = function (a, b) { if (a.classList) { return a.classList.contains(b) } return false }, I = function (b, c) { if (!b || !c) { return } var a = c.split(/\s+/).filter(Boolean); a.forEach(function (d) { b.classList.add(d) }) }, G = function (b, c) { if (!b || !c) { return } var a = c.split(/\s+/).filter(Boolean); a.forEach(function (d) { b.classList.remove(d) }) }, j = function (a, b) { if (!b) { b = "block" } a.style.opacity = ""; a.style.display = b }, J = function (a) { a.style.opacity = ""; a.style.display = "none" }, N = function (a) { while (a.firstChild) { a.removeChild(a.firstChild) } }, M = (function () { var c = document.createElement("div"); var a = { WebkitAnimation: "webkitAnimationEnd", OAnimation: "oAnimationEnd oanimationend", msAnimation: "MSAnimationEnd", animation: "animationend" }; for (var b in a) { if (a.hasOwnProperty(b) && c.style[b] !== undefined) { return a[b] } } return false })(); var v = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (a) { return typeof a } : function (a) { return a && typeof Symbol === "function" && a.constructor === Symbol && a !== Symbol.prototype ? "symbol" : typeof a }; var K = Object.assign || function (b) { for (var a = 1; a < arguments.length; a++) { var d = arguments[a]; for (var c in d) { if (Object.prototype.hasOwnProperty.call(d, c)) { b[c] = d[c] } } } return b }; var R = K({}, Q), A = function (b) { var f = e() || L(b); for (var c in b) { if (!Q.hasOwnProperty(c) && c !== "extraParams") { console.warn("p365ARlay: Unknown parameter") } } var d = C(H.title); var g = C(H.content); var i = C(H.iframe);
6 var h = C(H.close); f.style.width = "100%"; f.style.height = "100%"; g.style.width = typeof b.width === "number" ? b.width + "px" : "100%"; g.style.height = typeof b.height === "number" ? b.height + "px" : "100%"; f.style.padding = b.padding + "px"; f.style.background = b.background; if (b.title) { d.innerHTML = b.title.split("\n").join("<br>"); j(d) } else { J(d) } if (b.appkey) { var a = b.url; if (a.substr(-1) == "/") { a += "makeupsf?" } else { a += "/makeupsf?" } a += "access_token=" + b.appkey + "&productsku=" + b.sku + "&t=1"; if (b.type == "overlay" || b.type == "fixed") { a += "&ol=1" } if (b.option) { a += "&option=" + b.option } if (b.themeName) { a += "&theme=" + b.themeName } if (b.photoViewLarge.toLowerCase() == "large") { a += "&pvl=1" } else { if (b.photoViewLarge.toLowerCase() == "min") { a += "&pvl=2" } } if (b.LoadingTxt != "") { a += "&ltxt=" + encodeURIComponent(b.LoadingTxt) } if (b.LoadCameraTxt != "") { a += "&lctxt=" + encodeURIComponent(b.LoadCameraTxt) } a = a.replace(/\s*/g, ""); i.src = a; i.width = typeof b.width === "number" ? b.width + "px" : "100%"; i.height = typeof b.height === "number" ? b.height + "px" : "100%"; j(g) } else { J(g) } if (b.showCloseButton && b.type.toLowerCase() !== "iframe") { j(h) } else { J(h) } I(h, H.closeblack); if (b.borderRadius) { I(g, H.bradius) } f.className = H.modal; if (b.showBorder) { I(f, H.border) } if (b.customClass) { I(f, b.customClass) } }; var P = function P (b) { var c = z(); var d = e(); if (b.animation) { I(c, H.fade); G(c, H.noanimation); G(d, H.hide); G(d, H.noanimation) } else { G(d, H.fade); I(c, H.noanimation); I(d, H.noanimation) } j(d); c.style.overflowY = "hidden"; if (M && !T(d, H.noanimation)) { d.addEventListener(M, function a () { d.removeEventListener(M, a) }) } if (b.type.toLowerCase() === "overlay") { I(c, H.shown); I(c, H.showoverlay) } else { if (b.type.toLowerCase() === "fixed") { I(c, H.shown) } else { c.style.width = "100%"; c.style.height = "100%"; I(c, H.show); I(c, H.showiframe) } } if (b.borderRadius) { I(d, H.bradius) } S.previousActiveElement = document.activeElement; if (b.onOpen !== null && typeof b.onOpen === "function") { setTimeout(function () { b.onOpen(d) }) } }; var E = function E () { var b = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; if (b && !T(document.body, H.iosfix)) { var a = document.body.scrollTop; document.body.style.top = a * -1 + "px"; I(document.body, H.iosfix) } }; var F = function F () { if (T(document.body, H.iosfix)) { var a = parseInt(document.body.style.top, 10); G(document.body, H.iosfix); document.body.style.top = ""; document.body.scrollTop = a * -1 } }; var s = function (f, a) { if (!f) { console.error("p365ARlay Parameters should not be empty!"); return false } s.customData = f; var b = K({}, R); K(b, f); b.extraParams = f.extraParams; if (b.appkey == "") { console.error("p365ARlay appkey can not be empty."); return false } A(b); var d = z(); var c = e(); if (s.customData.editSku != undefined && s.customData.editSku.length > 0) { s.FFlawless = s.customData.editSku } window.addEventListener("message", function (g) { var h = g.data.tp; if (h === "load" && typeof a == "function") { a & a(g.data.ld) } else { if (h == "editflf" && typeof s.pcback == "function") { s.pcback & s.pcback(g.data.ld) } } }, false); return new Promise(function (g, h) { C(H.close).onclick = function () { s.closeModal(b.onClose) }; d.onclick = function (k) { if (k.target !== d) { return } if (b.allowOutsideClick) { s.closeModal(b.onClose) } }; var i = function i (m) { var k = m || window.event; var l = k.keyCode || k.which; if ([9, 13, 32, 27, 37, 38, 39, 40].indexOf(l) === -1) { return } var n = k.target || k.srcElement; if (l === 27 && b.allowEscapeKey === true) { s.closeModal(b.onClose) } }; S.previousWindowKeyDown = window.onkeydown; window.onkeydown = i; P(b) }) }; s.customData = ""; s.pcback; function u (c, i, g, d, b, f, h) { var a = document.querySelector("#" + H.iframe); a.contentWindow.postMessage({ tp: c, ak: i, su: g, ig: d, qb: b, qyd: f, op: h }, s.customData.url == undefined ? "https://webar.perfect365.com" : s.customData.url) } s.close = s.closeModal = function (c) { var a = z(); var b = e(); G(a, H.shown); G(a, H.showOP); G(b, H.show); I(a, H.hideOP); I(b, H.hide); if (b) { clearTimeout(b.timeout) } F(); u("close") }; s.editFF = function (d, c, a, b, g, f) { if (d == undefined) { console.error("p365ARlay Parameters should not be empty!"); return false } u("editff", s.customData.appkey, d, c, a, b, g); s.pcback = f }; s.upPicture = function (b, c) { u("uppicture", b); s.pcback = c }; s.resize = function () { u("resize") }; s.resetDefaults = function () { R = K({}, Q) }; s.version = "3.4.1"; return s }); if (window.p365ARlay) { window.p365ARLay = window.pwebar = window.p365ARlay }

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.