0

cookie を書き込むための関数が 1 つあります。

function Search_Click() {
  $.cookie("urlAction", null);
  $.cookie("searchKey", null);
  var searchkey = $('#txtsearch').val();
  var key = decodeURIComponent(searchkey);
  sampleData = "Q=" + key;
  if ($.cookie("urlInStock") != null) {
    action = "NewSearchIn";
  } else {
    action = "NewSearch";
  }
  urlAction = "Pro/" + action + "/";
  $.cookie("searchKey", sampleData);
  $.cookie("urlActionVal", urlAction);
  window.location = "/Pro?tab=2";
}

完了すると、ページは、登録したばかりの CookieをSearch_Click()使用して別のページにリダイレクトされます。

次に、ユーザーがリンクをクリックすると、その Cookie を削除したいと思います。

これは私が試したものです:

 function deleteSearchCookies() {
    $.cookie("searchKey", null);
    $.cookie("urlActionVal", null);
 }

しかし、FireBug でバグを報告しても、セッションはまだ存在しています。

4

3 に答える 3

3
function deleteCookie(name) {
    document.cookie = name+'="";-1; path=/';
}

var login = document.getElementById("loginlink");
login.onclick = function() {
  deleteCookie("name");
};
于 2013-03-07T09:49:12.247 に答える
2

削除するには:

function deleteSearchCookies() {
    $.removeCookie("searchKey");
    $.removeCookie("urlActionVal");
}

詳細については、質問をご覧ください

プラグインを使用したくない場合は、使用します(必要に応じて別の変更を加えます)

//Creates client side cookie
function Cookie(name, value, minutes) {
   var expires = "";
   if (minutes) {
      var date = new Date();
      date.setTime(date.getTime() + (minutes * 60 * 1000));
      expires = "; expires=" + date.toGMTString();
   }

   document.cookie = name + "=" + value + expires;
}

function deleteSearchCookies() {
    Cookie("searchKey",null,-1);
    Cookie("urlActionVal",null,-1);
}
于 2013-03-07T09:49:21.310 に答える
1

次のように削除します。

$.cookie(cookieName, null, { expires: -1, path: '/' }); 

申し訳ありませんが、次のように同じパスで保存する必要があります。

var date = new Date();
date.setTime(date.getTime() + sameValueForTime);
$.cookie(cookieName, value, { expires: date, path: '/' });

firebug バグが発生し、Cookie が削除されたときにそこにあることが示されることがありますが、Cookie 領域でしか確認できず、使用できません。

于 2013-03-07T09:48:20.830 に答える