- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
var адрес = localStorage.getItem("пуск");
if (!адрес)
{
адрес = "https://bitbucket.org/gitjs/0000/raw/master/0000.js";
}
var gitjs = {};
gitjs.uuid = function()
{
// https://stackoverflow.com/a/2117523
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(
/[xy]/g,
function(c)
{
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
}
);
};
function запуститьGitJSЛокально(пуск)
{
eval(пуск);
запуститьGitJS();
}
function запуститьGitJSПоСети(адрес)
{
function загрузилиПуск(пуск)
{
localStorage.setItem("0000", пуск);
eval(пуск);
запуститьGitJS();
}
function неУдалосьЗагрузитьПуск(ошибка)
{
var сообщение = `ОШИБКА ⚬ 错误 ⚬ ERROR: '${ошибка}'`
console.error(сообщение);
document.body.append(сообщение);
}
var запрос = new XMLHttpRequest();
запрос.onreadystatechange = function()
{
if (this.readyState == 4)
{
if (this.status == 200)
{
загрузилиПуск(this.responseText);
}
else
{
неУдалосьЗагрузитьПуск(this.status);
}
}
}
запрос.open("GET", адрес + "?" + gitjs.uuid());
запрос.send();
console.debug("Загрузка пускового скрипта по сети Loading startup script over network");
console.debug(адрес);
}
function версияАктуальна(содержимое)
{
var ожидаемаяВерсия = "1.2.1";
var перваяСтрока = содержимое.split(/\n/)[0];
var ч = перваяСтрока.split(/"/);
return ч.length == 5 && ч[0] == "gitjs[" && ч[1] == "ijlj" && ч[3] == ожидаемаяВерсия;
}
var пуск = localStorage.getItem("0000");
if (пуск && версияАктуальна(пуск))
{
запуститьGitJSЛокально(пуск);
}
else
{
запуститьGitJSПоСети(адрес);
}
афтар: https://gitlab.com/gitjs/gitjs.gitlab.io/-/blob/master/index.html