Страницы: 1
Отловил ошибку в работе метода nsICookieManager2->Add (xulrunner-1.9.2) для установки сессионной куки (при вызове ее из dll компоненты, не знаю, что будет в скриптовой версии). В SDK о последнем параметре этой функции говорится:
aExpiry
Holds the expiration date, in seconds since the epoch. Only relevant if aIsSession is false.
Однако, оказалось, что это параметр "relevant" в любом случае! Т.е. если при установке сессионной куки его просто указать равным нулю, то кука не поставится; и поставится она только в том случае, если этот параметр будет больше текущих даты/времени. Более того, не смотря на то, что в менеджере кук, установленная через данную функцию кука будет значится как сессионная, она удалится, как только наступит время aExpiry.
Отсутствует
https://bugzilla.mozilla.org/enter_bug.cgi?product=Core
Компонент - Networking: Cookies
Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.
Отсутствует
плохо читали документацию
Т.е. если при установке сессионной куки его просто указать равным нулю, то кука не поставится;
а вы видите где-нибудь у класса метод Delete?
открою вам тайну, уже установленная кука таким образом удалится. т.е. вы перетираете куку на дату в прошлом и она, естественно удаляется. то же самое и с установкой.
поставится она только в том случае, если этот параметр будет больше текущих даты/времени.
вы же сами написали
Holds the expiration date, in seconds since the epoch.
+ то, что выше написал
Более того, не смотря на то, что в менеджере кук, установленная через данную функцию кука будет значится как сессионная, она удалится, как только наступит время aExpiry.
сессионная кука гарантированно удаляется при завершении сессии, ничего не мешает ей истечь по установленной дате
Отсутствует
плохо читали документацию
у вас есть другие варианты перевода слова "relevant" в данном контексте? мой вариант перевода: "aExpiry... Only relevant if aIsSession is false" = значение переменной aExpiry учитывается только в том случае, если aIsSession=false (т.е. в противном случае оно может быть любым и не должно влиять на срок жизни куки, поскольку он и так отмечен концом сессии)
открою вам тайну, уже установленная кука таким образом удалится
в курсе, имеенно так я их и удаляю
сессионная кука гарантированно удаляется при завершении сессии, ничего не мешает ей истечь по установленной дате
и где же это написано в документации, которую я плохо читал??? хотя предвижу ваш ответ: "это подразумевается", и это было бы так, если бы отсутствовало предложение "Only relevant if aIsSession is false", которое и вносит всю путаницу для тех, кто хорошо читает
https://developer.mozilla.org/En/NsICoo … #add%28%29
Отсутствует
Страницы: 1