Browse Source

общее

tags/4.1
parent
commit
4090c8c498
6 changed files with 48 additions and 9 deletions
  1. +0
    -0
      3.0/общее/base64-js/README.md
  2. +0
    -0
      3.0/общее/base64-js/base64js.min.js
  3. +0
    -0
      3.0/общее/pako/README.md
  4. +0
    -0
      3.0/общее/pako/pako.min.js
  5. +46
    -7
      3.0/редактор/100.редактор.js
  6. +2
    -2
      3.0/редактор/index.html

3.0/редактор/base64-js/README.md → 3.0/общее/base64-js/README.md View File


3.0/редактор/base64-js/base64js.min.js → 3.0/общее/base64-js/base64js.min.js View File


3.0/редактор/pako/README.md → 3.0/общее/pako/README.md View File


3.0/редактор/pako/pako.min.js → 3.0/общее/pako/pako.min.js View File


+ 46
- 7
3.0/редактор/100.редактор.js View File

@@ -4,9 +4,29 @@ function Редактор(события, имяОбласти)
{ {
this.установитьAce(); this.установитьAce();
this.улавливатьЗавершениеРедактирования(); this.улавливатьЗавершениеРедактирования();
this.разобратьПараметрыЗапуска();
this.задатьКодПриЗапуске();
события.подписать(this); события.подписать(this);
}; };


this.задатьКодПриЗапуске = function()
{
var z64 = this.параметрыЗапуска["z64"];
if (z64)
{
var код = this.изZ64(z64);
this.ace.session.setValue(код);
}
};

this.исполнитьКод = function()
{
var содержимое = this.ace.session.getValue();
var z64 = this.вZ64(содержимое);
var путь = window.location.pathname + "?z64=" + z64;
history.pushState(null, "", путь);
};

this.обработатьСобытие = function(событие) this.обработатьСобытие = function(событие)
{ {
if (событие == "завершили редактирование") if (событие == "завершили редактирование")
@@ -15,17 +35,35 @@ function Редактор(события, имяОбласти)
} }
else if (событие == "код корректен") else if (событие == "код корректен")
{ {
this.преобразоватьВZ64();
this.исполнитьКод();
} }
}; };


this.преобразоватьВZ64 = function()
this.разобратьПараметрыЗапуска = function()
{ {
var содержимое = this.ace.session.getValue();
var в = this.вZ64(содержимое);
var из = this.изZ64(в);
/**/console.debug("ИГР вZ64/изZ64/было/стало", в, из, из.length, в.length);

this.параметрыЗапуска = {};
var запрос = window.location.search.substring(1);
var аргументы = запрос.split("&");
for (var номер in аргументы)
{
var арг = аргументы[номер];
var позицияЗнака = арг.indexOf("=");
// Лишь ключ.
if (позицияЗнака == -1)
{
var ключ = decodeURIComponent(арг);
this.параметрыЗапуска[ключ] = null;
}
// Ключ со значением.
else
{
var сыройКлюч = арг.slice(0, позицияЗнака);
var сыроеЗначение = арг.slice(позицияЗнака + 1);
var ключ = decodeURIComponent(сыройКлюч);
var значение = decodeURIComponent(сыроеЗначение);
this.параметрыЗапуска[ключ] = значение;
}
}
}; };


this.установитьAce = function() this.установитьAce = function()
@@ -33,6 +71,7 @@ function Редактор(события, имяОбласти)
var область = document.getElementById(имяОбласти); var область = document.getElementById(имяОбласти);
this.ace = window.ace.edit(имяОбласти); this.ace = window.ace.edit(имяОбласти);
this.ace.session.setMode("ace/mode/javascript"); this.ace.session.setMode("ace/mode/javascript");
this.ace.session.setUseWrapMode(true);
} }


this.улавливатьЗавершениеРедактирования = function() this.улавливатьЗавершениеРедактирования = function()


+ 2
- 2
3.0/редактор/index.html View File

@@ -4,11 +4,11 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>M-3.0</title> <title>M-3.0</title>


<script src="../общее/base64-js/base64js.min.js"></script>
<script src="../общее/pako/pako.min.js"></script>
<script src="ace/ace.js"></script> <script src="ace/ace.js"></script>
<script src="ace/mode-javascript.js"></script> <script src="ace/mode-javascript.js"></script>
<script src="ace/worker-javascript.js"></script> <script src="ace/worker-javascript.js"></script>
<script src="base64-js/base64js.min.js"></script>
<script src="pako/pako.min.js"></script>
<link rel="stylesheet" type="text/css" href="uikit/uikit.min.css" /> <link rel="stylesheet" type="text/css" href="uikit/uikit.min.css" />
<script src="uikit/uikit.min.js"></script> <script src="uikit/uikit.min.js"></script>
<script src="uikit/uikit-icons.min.js"></script> <script src="uikit/uikit-icons.min.js"></script>


Loading…
Cancel
Save