UNPKG

@nota/nativescript-webview-ext

Version:

Extended WebView for NativeScript which adds 'x-local' scheme for local-files. events between WebView and native-layer, javascript execution, injecting CSS and JS-files.

48 lines (47 loc) 1.82 kB
(function (window) { var defaultViewPort = { initialScale: 1.0, }; var document = window.document; var meta = document.querySelector('head meta[name="viewport"]'); if (!meta) { meta = document.createElement("meta"); meta.setAttribute("name", "viewport"); document.head.appendChild(meta); } var viewPortInput = "<%= VIEW_PORT %>"; var viewPortValues = defaultViewPort; if (viewPortInput && typeof viewPortInput === "object") { viewPortValues = viewPortInput; } var _a = viewPortValues.initialScale, initialScale = _a === void 0 ? defaultViewPort.initialScale : _a, width = viewPortValues.width, height = viewPortValues.height, userScalable = viewPortValues.userScalable, minimumScale = viewPortValues.minimumScale, maximumScale = viewPortValues.maximumScale; var content = ["initial-scale=" + initialScale]; if (width) { content.push("width=" + width); } if (height) { content.push("height=" + height); } if (typeof userScalable === "boolean") { content.push("user-scalable=" + (userScalable ? "yes" : "no")); } else if (typeof userScalable === "string") { var lcUserScalable = ("" + userScalable).toLowerCase(); if (lcUserScalable === "yes") { content.push("user-scalable=yes"); } else if (lcUserScalable === "no") { content.push("user-scalable=no"); } else { console.error("userScalable=" + JSON.stringify(userScalable) + " is an unknown value"); } } if (minimumScale) { content.push("minimum-scale=" + minimumScale); } if (maximumScale) { content.push("maximum-scale=" + maximumScale); } meta.setAttribute("content", content.join(", ")); })(window);