Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   поместить в LocalStorage (https://javascript.ru/forum/misc/71968-pomestit-v-localstorage.html)

marc 26.12.2017 00:39

поместить в LocalStorage
 
Здравствуйте, у меня есть код с использованием Canvas, и мне нужно поместить его в локальное хранилище, подскажите пожалуйста, как это сделать?
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<canvas id="canvas" width="150px" height="150px"></canvas>




<script type="text/javascript">
		var ctx,cpx=75,cpy=90,smileOnTimer,smileOffTimer;
function drawSmile(){
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.fillStyle = "yellow";
  ctx.beginPath();
  ctx.arc(75,75,50,0,Math.PI*2,true);
  ctx.fill();
  ctx.stroke();
  //------------------------
  ctx.moveTo(65,65);
  ctx.fillStyle = "black";
  ctx.beginPath();
  ctx.arc(60,65,5,0,Math.PI*2,true);
  ctx.fill();
  ctx.stroke();
  //---------------------------------
  ctx.moveTo(95,65);
  ctx.beginPath();
  ctx.arc(90,65,5,0,Math.PI*2,true);
  ctx.fill();
  ctx.stroke();
  //-----------------------------
  ctx.fillStyle = "black";
  ctx.beginPath();
  ctx.moveTo(95,90);
  ctx.quadraticCurveTo(cpx, cpy, 55, 90)
  ctx.stroke();
}
function smileOn(){
  clearTimeout(smileOffTimer);   
  drawSmile();
  if(cpy<111) cpy+= 1;
  smileOnTimer=setTimeout("smileOn()",20);
}
function smileOff(){
  clearTimeout(smileOnTimer);    
  drawSmile();
  if(cpy>90) cpy-= 1;
  smileOffTimer=setTimeout("smileOff()",20);
}
window.onload = function() {
  ctx = canvas.getContext('2d');
  drawSmile();
}
canvas.onmouseover=function(){
  setTimeout("smileOn()",20);
}
canvas.onmouseout=function(){
  setTimeout("smileOff()",20);
}

	</script>
</body>
</html>
:help: :help: :help:

Aetae 26.12.2017 01:14

Кого "его"? Код или canvas? В любом случае: берёте и кладёте, в чём проблема?)

marc 26.12.2017 01:26

Я в этом вообще не разберусь, голова уже закипает от этого. А поместить надо код в локальное

Aetae 26.12.2017 01:35

localStorage['script'] = (document.currentScript || document.scripts[document.scripts.length-1]).innerHTML;
Но зачем?..

marc 26.12.2017 01:55

Дали такое задание. Можно ещё вопрос? Я конечно понимаю, он тупой, но то, что Вы написали надо поместить поверх моего скрипта, так?

Aetae 26.12.2017 02:51

Да. В любое место. Кстати эта строка тож попадёт в localStorage.
Подозреваю, что задание таки у вас какое-то другое, но вы не поняли.)

marc 26.12.2017 09:21

Задание звучит так: "Скрипт, разработанный для данной работы, дополнить интерфейсом, обеспечивающим сохранение и использование данных в локальной памяти."

laimas 26.12.2017 09:28

marc,
данные, но не скрипт же, кому может потребоваться хранение скриптов в памяти? Единственно где сама программа хранится в памяти, это микроконтроллеры.

marc 26.12.2017 09:40

А как тогда это сделать?

laimas 26.12.2017 09:46

Цитата:

Сообщение от marc
А как тогда это сделать?

Хранить данные используемые программой.

marc 26.12.2017 10:26

Как?

laimas 26.12.2017 10:45

Цитата:

Сообщение от marc
Как?

Как вам уже показывалось - localStorage[ключ] = значение. А вот что, это спрашивайте у того кто такие задание выдает.

Например, в микроконтроллерах основная память, это память программ, в которой навсегда (или перепрограммируемая - флеш/ультрафиолет) размещена программа. Есть небольшая оперативная память под регистры, данные и стек. Есть небольшая энергонезависимая память (EEPROM), в которой можно хранить данные, которые могут изменяться, но использоваться программой, или выступать как данные установок/конфигураций.

Если также по аналогии, то localStorage в браузере, это будет EEPROM. Память программ, это винчестер локального или удаленного компьютера, который хранит программы (скрипты), которые могут сохранять данные для последующего использования в localStorage. Сами скрипты браузер загружает с винчестера, в контексте веб, это винчестер удаленного сервера.


Часовой пояс GMT +3, время: 23:59.