'use strict' !function () { if (!window.MTKWebSDKWidget) { const wg = { widgetHost: 'https://webwidget.mitake.com.tw/widget', generateId: function () { return 'mitakesdk_' + (1000000 * (1 + Math.random()) | 0).toString(16).substring(1) }, Widget: function (options) { this.id = options.id || wg.generateId() this.options = { width: options.width || null, height: options.height || null, licenseKey: options.licenseKey, containerId: options.containerId || "" } this.generateWidget() }, } wg.Widget.prototype = { generateWidget: function () { var containter = document.getElementById(this.options.containerId) var el if (containter) { el = this.render() containter.appendChild(el) } else { var newContainer = document.createElement('div') newContainer.id = wg.generateId() el = this.render() newContainer.appendChild(el) var curScript = document.currentScript curScript.insertBefore(newContainer, curScript.nextSibling) } }, render: function () { var src = this.generateWgUrl() var el = document.createElement('iframe') var width = (this.options.width) ? this.options.width : '100%' var height = (this.options.height) ? this.options.height : '100%' el.id = this.id el.src = src el.frameBorder = '0' el.scrolling = 'no' el.allowFullscreen = true el.style.cssText = `width: ${width}; height: ${height}; margin: 0 !important; padding: 0 !important;` return el }, generateWgUrl: function () { var domain = window.location.origin var params = { key: this.options.licenseKey, domain } var searchParams = new URLSearchParams(params) return wg.widgetHost + '?' + searchParams.toString() }, remove: function () { var el = document.getElementById(this.id); el.parentNode.removeChild(el) }, reload: function () { var el = document.getElementById(this.id), pEl = el.parentNode; pEl.removeChild(el) newEl = this.render() pEl.appendChild(newEl) } } var injectWg = function (oldObj, newObj) { for (var k in newObj) "object" == typeof newObj[k] && oldObj.hasOwnProperty(k) ? injectWg(oldObj[k], newObj[k]) : oldObj[k] = newObj[k]; return oldObj } window.MTKWebSDKWidget ? injectWg(window.MTKWebSDKWidget, wg) : window.MTKWebSDKWidget = wg } }()