vn-native-env
Version:
65 lines (63 loc) • 2.45 kB
JavaScript
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(){
}
}