iceshrimp/src/web/app/client/script.js

31 lines
968 B
JavaScript
Raw Normal View History

2017-03-18 00:02:41 +09:00
/**
2017-03-18 20:05:11 +09:00
* MISSKEY CLIENT ENTRY POINT
2017-03-18 00:02:41 +09:00
*/
2017-02-22 03:13:19 +09:00
(() => {
const head = document.getElementsByTagName('head')[0];
2017-03-18 00:02:41 +09:00
2017-03-23 05:53:09 +09:00
// Detect user language
2017-03-25 17:09:44 +09:00
let lang = ((navigator.languages && navigator.languages[0]) || navigator.language).split('-')[0].toLowerCase();
if (!/^(en|ja)$/.test(lang)) lang = 'en';
2017-03-23 05:53:09 +09:00
2017-03-18 00:02:41 +09:00
// Detect user agent
2017-02-22 03:13:19 +09:00
const ua = navigator.userAgent.toLowerCase();
const isMobile = /mobile|iphone|ipad|android/.test(ua);
2016-12-29 07:49:51 +09:00
2017-03-23 19:00:04 +09:00
const app = isMobile ? 'mobile' : 'desktop';
2016-12-29 07:49:51 +09:00
2017-03-23 19:00:04 +09:00
// Load app script
const script = document.createElement('script');
script.setAttribute('src', `/assets/${app}.${VERSION}.${lang}.js`);
script.setAttribute('async', 'true');
script.setAttribute('defer', 'true');
head.appendChild(script);
2016-12-29 07:49:51 +09:00
2017-03-23 19:00:04 +09:00
if (isMobile) {
2017-02-22 03:13:19 +09:00
const meta = document.createElement('meta');
meta.setAttribute('name', 'viewport');
meta.setAttribute('content', 'width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no');
head.appendChild(meta);
}
})();