Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.01.2017, 13:16
Интересующийся
Отправить личное сообщение для who_cares_? Посмотреть профиль Найти все сообщения от who_cares_?
 
Регистрация: 13.01.2017
Сообщений: 17

Сериализация объекта с функциями.
Всем привет!
Есть большой объект с кучей вложенных объектов, в которых к тому же полно разнообразных функций (основная база для игры).
Так вот, этот объект нужно сохранить на диске/в куках.
JSON по причине игнорирования функций в объекте не подходит (хотя почти уверен для него есть плагин решающий проблему, который я так и не нашел).
Следовательно вопрос - как его сохранить/сериализовать?
Может есть другие подходящие форматы кроме JSON?
Только пожалуйста не предлагайте разбираться с каждой функцией в ручную, их очень много, включая функции со сгенерированными именами (игра крайне инновационная )

Последний раз редактировалось who_cares_?, 13.01.2017 в 13:47.
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2017, 13:23
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

Как вариант - рекурсивно пройтись по объекту и обработать все что в нем есть. Вот реализация https://github.com/nervgh/object-traverse
Ответить с цитированием
  #3 (permalink)  
Старый 13.01.2017, 13:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от who_cares_?
этот объект нужно сохранить на диске/сервере
Какой хоть серверный язык используется? Во что именно он может писать?
Сообщение от who_cares_?
Следовательно вопрос - как его сохранить/сериализовать?
На сервер можно передать только строку (УРЛ). Как ты ее будешь формировать - дело твое.
Ответить с цитированием
  #4 (permalink)  
Старый 13.01.2017, 13:28
Интересующийся
Отправить личное сообщение для who_cares_? Посмотреть профиль Найти все сообщения от who_cares_?
 
Регистрация: 13.01.2017
Сообщений: 17

Серверный часть по планам будет отвечать только как раз таки за сохранение.. так что буду использовать тот который получится/будет_подходить..)
Ответить с цитированием
  #5 (permalink)  
Старый 13.01.2017, 13:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от who_cares_?
Серверный часть по планам будет отвечать только как раз таки за сохранение.. так что буду использовать тот который получится/будет_подходить..)


Ответить с цитированием
  #6 (permalink)  
Старый 13.01.2017, 13:39
Интересующийся
Отправить личное сообщение для who_cares_? Посмотреть профиль Найти все сообщения от who_cares_?
 
Регистрация: 13.01.2017
Сообщений: 17

Сообщение от TestUser013 Посмотреть сообщение
Как вариант - рекурсивно пройтись по объекту и обработать все что в нем есть. Вот реализация https://github.com/nervgh/object-traverse
Можно поподробней?) Пройтись да, можно, но как сохранить объект + функции, а главное как его потом извлечь?..(
Ответить с цитированием
  #7 (permalink)  
Старый 13.01.2017, 13:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от who_cares_?
как сохранить объект + функции
Например голимым текстом.
Сообщение от who_cares_?
а главное как его потом извлечь?
Тут, опять же, интересно знать о возможностях твоего сервера...

Как вариант, можно потом сформировать на сервере js-файл (это ведь просто текстовый файл)... А потом просто подключить его на странице
<script src='сгенерированный_файл.js'></script>
Ответить с цитированием
  #8 (permalink)  
Старый 13.01.2017, 13:53
Интересующийся
Отправить личное сообщение для who_cares_? Посмотреть профиль Найти все сообщения от who_cares_?
 
Регистрация: 13.01.2017
Сообщений: 17

Сообщение от ksa Посмотреть сообщение
Например голимым текстом.
Вот тут у меня похоже пробел.. как перевести содержимое функции в текст?)
И все, забыли про сервер) Это дополнительный функционал, а тут хотя бы с диском/куками разобраться..)
Ответить с цитированием
  #9 (permalink)  
Старый 13.01.2017, 14:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от who_cares_?
как перевести содержимое функции в текст?)
Дык!
function test(){
	document.getElementById('divid').className='off'; 
	return false;
};
var str=test.toString();
alert(str);
Ответить с цитированием
  #10 (permalink)  
Старый 13.01.2017, 14:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от who_cares_?
И все, забыли про сервер) Это дополнительный функционал
Ооочень многое зависит от серверного языка.
Можно иметь огромные возможности по передаче с клиента на сервер и обратно, а можно иметь некий мизер, позволяющий хоть как-то делать вэб-приложения...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При вызове локальной функции объекта не могу использовать свойства объекта Gudsaf Общие вопросы Javascript 7 17.09.2016 20:23
Canvas. Как сделать или вообще нельзя? Вращение рандомизированно изменяемого объекта. Zemsky Общие вопросы Javascript 30 19.12.2013 19:44
Сериализация сложного js объекта uncher4 AJAX и COMET 14 25.10.2013 19:03
Скрипт вычисления координат объекта banderasantonio197555 Events/DOM/Window 4 16.08.2011 17:37
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00