UNPKG

vn-native-env

Version:

65 lines (63 loc) 2.45 kB
import VnNativeOs from 'vn-native-os'; export default class VnNativeEnv { constructor(){ this.os = new VnNativeOs; this.deviceReady(); } sandbox(data){ let ip = data.ip ? data.ip : 'localhost'; let sandboxDomain = 'http://' + ip + ':4801'; var userAgent = window.navigator.userAgent, platform = window.navigator.platform, macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'], iosPlatforms = ['iPhone', 'iPad', 'iPod'], browserPlatforms = ['Chrome', 'Firefox', 'Safari','Opera','IE'], os = null; let scriptSrc = ''; if(data.sandbox && data.sandbox !== 'prod') { if (macosPlatforms.indexOf(platform) !== -1 && userAgent.indexOf(browserPlatforms) !== -1) { // macos scriptSrc = '/osx/www/cordova.js'; } else if (iosPlatforms.indexOf(platform) !== -1 && userAgent.indexOf(browserPlatforms) !== -1) { // ios scriptSrc = '/ios/www/cordova.js'; } else if (windowsPlatforms.indexOf(platform) !== -1 && userAgent.indexOf(browserPlatforms) !== -1) { // windows scriptSrc = '/windows/www/cordova.js'; } else if (/Android/.test(userAgent) && userAgent.indexOf(browserPlatforms) !== -1) { // android scriptSrc = '/android/www/cordova.js'; } else if (!os && /Linux/.test(platform) || userAgent.indexOf(browserPlatforms) === -1) { // linux scriptSrc = '/browser/www/cordova.js'; } } else { scriptSrc = 'cordova.js'; } let scri = document.createElement('script'); scri.type = "text/javascript"; scri.src = sandboxDomain + scriptSrc; document.head.appendChild(scri); } production(){ let scripts = [ 'cordova.js' ]; scripts.forEach((data) => { let item = document.createElement('script'); item.type = 'text/javascript'; item.src = data; document.head.appendChild(item); }); } deviceReady(){ document.addEventListener('deviceReady',() => { console.log('deviceReady'); },true); } androidScripts(){ } addScriptType(){ } }