2010-05-26 3 views
1

Я использую следующий плагин для печенья в JQuery:удаление куки в конце процесса

https://code.google.com/p/cookies/

вопрос я имею не с плагином, но когда и как удалить куки в конце процесса цитирования.

Сайт, на котором я использую это, представляет собой шестиэтапную онлайн-цитату и процесс покупки.

Для некоторых страниц используется селектирование селектирования событий Omniture. Сериализация этого события должна включать имя события и случайное число, которое я создаю.

У меня есть общие функции для этого, который я называю в нижней части страницы, например так:

serialEvent('event21:', 'payment'); 

Вот функция:

function serialEvent(eventNumber, eventName) { 
    var sessionID = jaaulde.utils.cookies.get('sessionID');    
    var remLength = 20 - eventName.length; 
    var remSession = sessionID.substr(sessionID.length - remLength, remLength); 
    var eventName = eventName + remSession; 
    s.events = eventNumber + eventName; 
    } 

нужно удалить куки в то конец процесса, страница «Спасибо», но мне также нужен «sessionID» cookie для функции «serialEvent».

Как функция вызывается в нижней части страницы, я должен просто написать файл cookie delete после него? Достаточно ли достаточно?

Должен быть уверен, что функция была успешно вызвана до удаления файла cookie.

код для удаления куки довольно просто:

jaaulde.utils.cookies.del('sessionID'); 

Спасибо :)

ответ

1

Там нет асинхронной или таймера задержки функции обратного вызова называется в serialEvent функции, так что вы можете либо

  • Положите его в конце функции перед закрывающей скобкой, или
  • Поставил после serialEvent('event21:', 'payment');.

Javascript выполняет синхронно, поэтому вы можете быть уверены, что файл cookie удаляется только после его завершения.

1

вы можете удалить куки в конце процесса, а также в случае window.onUnload, чтобы убедиться, что cookie очищается, даже если вы закрываете окно до завершения процесса.

1
function serialEvent(eventNumber, eventName) 
{ 
    var ok = false; 
    try 
    { 
     var sessionID = jaaulde.utils.cookies.get('sessionID');    
     var remLength = 20 - eventName.length; 
     var remSession = sessionID.substr(sessionID.length - remLength, remLength); 
     var eventName = eventName + remSession; 
     s.events = eventNumber + eventName; 
     ok = true; 
    } 
    catch(e) 
    { 
     // todo: error handling (what has gone wrong?) 
     ok = false; 
    } 

    return ok; 
} 

Таким образом, вы можете узнать, правильно ли вызвана функция. ok будет true, если вся функция выполнена правильно.