@@ -4,12 +4,13 @@ function Игра() | |||||
{ | { | ||||
this.события = new События(); | this.события = new События(); | ||||
this.пз = new ПараметрыЗапуска(); | this.пз = new ПараметрыЗапуска(); | ||||
this.исполнитьКод(); | |||||
var z64 = this.пз.параметры["z64"]; | |||||
this.исполнитьКод(z64); | |||||
this.отслеживатьОбновленияКода(); | |||||
}; | }; | ||||
this.исполнитьКод = function() | |||||
this.исполнитьКод = function(z64) | |||||
{ | { | ||||
var z64 = this.пз.параметры["z64"]; | |||||
if (z64) | if (z64) | ||||
{ | { | ||||
var код = изZ64(z64); | var код = изZ64(z64); | ||||
@@ -17,6 +18,14 @@ function Игра() | |||||
} | } | ||||
}; | }; | ||||
this.отслеживатьОбновленияКода = function() | |||||
{ | |||||
var тут = this; | |||||
window.addEventListener("message", function(событие) { | |||||
тут.исполнитьКод(событие.data); | |||||
}); | |||||
}; | |||||
// Конструктор. | // Конструктор. | ||||
this.создать(); | this.создать(); | ||||
} | } |
@@ -4,12 +4,13 @@ function Игра() | |||||
{ | { | ||||
this.события = new События(); | this.события = new События(); | ||||
this.пз = new ПараметрыЗапуска(); | this.пз = new ПараметрыЗапуска(); | ||||
this.исполнитьКод(); | |||||
var z64 = this.пз.параметры["z64"]; | |||||
this.исполнитьКод(z64); | |||||
this.отслеживатьОбновленияКода(); | |||||
}; | }; | ||||
this.исполнитьКод = function() | |||||
this.исполнитьКод = function(z64) | |||||
{ | { | ||||
var z64 = this.пз.параметры["z64"]; | |||||
if (z64) | if (z64) | ||||
{ | { | ||||
var код = изZ64(z64); | var код = изZ64(z64); | ||||
@@ -17,6 +18,14 @@ function Игра() | |||||
} | } | ||||
}; | }; | ||||
this.отслеживатьОбновленияКода = function() | |||||
{ | |||||
var тут = this; | |||||
window.addEventListener("message", function(событие) { | |||||
тут.исполнитьКод(событие.data); | |||||
}); | |||||
}; | |||||
// Конструктор. | // Конструктор. | ||||
this.создать(); | this.создать(); | ||||
} | } |
@@ -1,4 +1,4 @@ | |||||
function Редактор(события, имяРедактора, имяВоспроизведения) | |||||
function Редактор(события, имяРедактора) | |||||
{ | { | ||||
this.создать = function() | this.создать = function() | ||||
{ | { | ||||
@@ -25,10 +25,19 @@ function Редактор(события, имяРедактора, имяВос | |||||
var z64 = вZ64(содержимое); | var z64 = вZ64(содержимое); | ||||
var путь = window.location.pathname + "?z64=" + z64; | var путь = window.location.pathname + "?z64=" + z64; | ||||
history.pushState(null, "", путь); | history.pushState(null, "", путь); | ||||
document.title = `M-3.0 ${z64.length}:${z64.slice(z64.length - 5)}`; | |||||
var воспроизведение = document.getElementById("воспроизведение"); | |||||
var адрес = "../проигрыватель/index.html?z64=" + z64; | |||||
воспроизведение.src = адрес; | |||||
// Исполняем явно код лишь первый раз. | |||||
var проигрыватель = document.getElementById("проигрыватель"); | |||||
if (!проигрыватель.src) | |||||
{ | |||||
проигрыватель.src = "../проигрыватель/index.html?z64=" + z64; | |||||
} | |||||
// После запуска уведомляем iframe о новом коде без перезагрузки. | |||||
else | |||||
{ | |||||
window.frames.проигрыватель.postMessage(z64, "*"); | |||||
} | |||||
}; | }; | ||||
this.обработатьСобытие = function(событие) | this.обработатьСобытие = function(событие) | ||||
@@ -1,4 +1,4 @@ | |||||
function Редактор(события, имяРедактора, имяВоспроизведения) | |||||
function Редактор(события, имяРедактора) | |||||
{ | { | ||||
this.создать = function() | this.создать = function() | ||||
{ | { | ||||
@@ -25,10 +25,19 @@ function Редактор(события, имяРедактора, имяВос | |||||
var z64 = вZ64(содержимое); | var z64 = вZ64(содержимое); | ||||
var путь = window.location.pathname + "?z64=" + z64; | var путь = window.location.pathname + "?z64=" + z64; | ||||
history.pushState(null, "", путь); | history.pushState(null, "", путь); | ||||
document.title = `M-3.0 ${z64.length}:${z64.slice(z64.length - 5)}`; | |||||
var воспроизведение = document.getElementById("воспроизведение"); | |||||
var адрес = "../проигрыватель/index.html?z64=" + z64; | |||||
воспроизведение.src = адрес; | |||||
// Исполняем явно код лишь первый раз. | |||||
var проигрыватель = document.getElementById("проигрыватель"); | |||||
if (!проигрыватель.src) | |||||
{ | |||||
проигрыватель.src = "../проигрыватель/index.html?z64=" + z64; | |||||
} | |||||
// После запуска уведомляем iframe о новом коде без перезагрузки. | |||||
else | |||||
{ | |||||
window.frames.проигрыватель.postMessage(z64, "*"); | |||||
} | |||||
}; | }; | ||||
this.обработатьСобытие = function(событие) | this.обработатьСобытие = function(событие) | ||||
@@ -33,7 +33,7 @@ | |||||
flex-direction: column; | flex-direction: column; | ||||
border: 1px dashed gainsboro; | border: 1px dashed gainsboro; | ||||
} | } | ||||
#воспроизведение | |||||
#проигрыватель | |||||
{ | { | ||||
position: absolute; | position: absolute; | ||||
right: 0; | right: 0; | ||||
@@ -55,7 +55,7 @@ | |||||
<span id="ошибка" class="впульте"> </span> | <span id="ошибка" class="впульте"> </span> | ||||
<a id="пуск" class="впульте uk-icon-button uk-margin-top" uk-icon="play" uk-tooltip="Пуск"></a> | <a id="пуск" class="впульте uk-icon-button uk-margin-top" uk-icon="play" uk-tooltip="Пуск"></a> | ||||
</div> | </div> | ||||
<iframe id="воспроизведение"></iframe> | |||||
<iframe id="проигрыватель" name="проигрыватель"></iframe> | |||||
<script src="../общее/100.События.js"></script> | <script src="../общее/100.События.js"></script> | ||||
<script src="../общее/200.функции.js"></script> | <script src="../общее/200.функции.js"></script> | ||||