Файлы "куки" в HTML-extension СС2014

  • Автор темы Автор темы dumbm1
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

dumbm1

Топикстартер
12 лет на форуме
Сообщения
423
Реакции
197
Как задействовать файлы "куки" в HTML-extension СС2014?
В сс2015 так:
Следующий код запишет строку в "куки" документа (расширения) по адресу
C:\Users\<user>\AppData\Local\Temp\cep_cache\ILST_19.0.0_<имя расширения>:
Код:
document.cookie = "В.Пупкин"
Этот код покажет "куки" документа (в данном случае строку "В.Пупкин"):
Код:
alert(document.cookie)
В сс2014 это не работает (в сс 17-й версии тоже) 'otbline'
PHP:
    /**
     name: название cookie
     value: значение cookie (строка)
     options: Объект с дополнительными свойствами для установки cookie:
     expires: Время истечения cookie. Интерпретируется по-разному,
     в зависимости от типа:
     Число — количество секунд до истечения. Например, expires: 3600 — кука на час.
     Объект типа Date — дата истечения.
     Если expires в прошлом, то cookie будет удалено.
     Если expires отсутствует или 0, то cookie будет установлено как сессионное и исчезнет при закрытии браузера.
     path: Путь для cookie.
     domain: Домен для cookie.
     secure: Если true, то пересылать cookie только по защищенному соединению.
     */
    function setCookie ( name, value, options) {
      options = options || {};

      var expires = options.expires;

      if ( typeof expires == "number" && expires ) {
        var d = new Date ();
        d.setTime ( d.getTime () + expires * 1000 );
        expires = options.expires = d;
      }
      if ( expires && expires.toUTCString ) {
        options.expires = expires.toUTCString ();
      }

      value = encodeURIComponent ( value );

      var updatedCookie = name + "=" + value;

      for ( var propName in options ) {
        updatedCookie += "; " + propName;
        var propValue = options[ propName ];
        if ( propValue !== true ) {
          updatedCookie += "=" + propValue;
        }
      }
      document.cookie = updatedCookie;
    }

    function deleteCookie ( name ) {
      setCookie ( name, "", { expires: -1 } );
    }
Взято из статьи
Почему не работает, как исправить?

Спасибо!
 
Последнее редактирование:
подозреваю, что прикрыли. панель это все же не совсем броузер

а почему бы просто не сохранять в файл, благо такая возможность есть?
 
Интересно, что в мануале (сс extension sdk) о куках говорится. Так же проверка свойства
Navigator.cookieEnabled даёт положительный результат (типа в браузере куки включены). Наверное и правда это недоработка панелей двух прошлых версий СС. Адоуби-форум по этому поводу молчит.
сохранять в файл
хотелось попробовать встроенную возможность браузера запоминать настройки. Вроде удобно, но СС2015 пока что глючный для полноценной работы.
 
ну все же лучше в файл сохранять, тем более cookie стереться могут
 
@Skvoznyak, а файл с настройками обычно куда сохраняете?
 
SystemPath.USER_DATA+"/LocalStore/", ну можно еще папку под сам экстеншен сделать
 
  • Спасибо
Реакции: dumbm1
Проблема решилась наилучшим образом: во всех версиях CC доступен и правильно работает объект Storage, который гораздо удобнее, чем cookies.
Для работы с JSON в ExtendScript понадобится JSON-библиотека json2.js.
Как подключить json2.js написано здесь.
 
  • Спасибо
Реакции: Skvoznyak
Статус
Закрыто для дальнейших ответов.