Files
justice/www/html/Game/public/trycss/game-justic2/app-base.js
T
2026-05-26 10:48:16 +00:00

48 lines
1.9 KiB
JavaScript

/**
* โหลดก่อนสคริปต์อื่นที่ใช้ appPath() — รองรับ WAMP subfolder เช่น /game-justic2/
*/
(function (global) {
var APP_BASE = '';
var scripts = document.getElementsByTagName('script');
for (var i = 0; i < scripts.length; i++) {
var full = scripts[i].src;
if (!full || !/\/app-base\.js(\?|#|$)/i.test(full)) continue;
try {
var path = new URL(full, global.location.href).pathname;
APP_BASE = path.replace(/\/app-base\.js.*$/i, '').replace(/\/$/, '') || '';
break;
} catch (e) { /* ignore */ }
}
if (!APP_BASE && global.location && global.location.pathname) {
var pageMatch = String(global.location.pathname).match(/^\/(game-justic2|game-justic)(?=\/|$)/i);
if (pageMatch) APP_BASE = '/' + pageMatch[1];
}
if (!APP_BASE) {
try {
var savedBase = (global.sessionStorage && global.sessionStorage.getItem('APP_BASE')) ||
(global.localStorage && global.localStorage.getItem('APP_BASE')) || '';
if (savedBase && savedBase.charAt(0) === '/') APP_BASE = savedBase.replace(/\/$/, '');
} catch (e3) { /* ignore */ }
}
try {
if (APP_BASE) {
if (global.sessionStorage) global.sessionStorage.setItem('APP_BASE', APP_BASE);
if (global.localStorage) global.localStorage.setItem('APP_BASE', APP_BASE);
}
} catch (e4) { /* ignore */ }
global.APP_BASE = APP_BASE;
global.appPath = function appPath(rel) {
if (rel == null || rel === '') return APP_BASE || '';
rel = String(rel);
if (rel.charAt(0) !== '/') rel = '/' + rel;
return (APP_BASE || '') + rel;
};
var host = global.location ? global.location.hostname : 'localhost';
var protocol = global.location && global.location.protocol === 'https:' ? 'https:' : 'http:';
global.GAME_SERVER = protocol + '//' + host + ':3004';
global.CHAT_SERVER = protocol + '//' + host + ':3003';
})(typeof window !== 'undefined' ? window : this);