2015年8月30日

「最近チェックした商品」の履歴を削除する

カラーミーショップには、最近チェックした商品(or 最近見た商品)の独自タグがあります(2012年に実装された機能です)。
ただ、履歴を残されるとイヤだなぁと感じるお客様もいらっしゃるようです。
そしてなぜか標準で、「履歴の削除機能」が付いていないらしい。

履歴はCookieとして各自PCに保存されますので、Cookieを削除する機能を付けます。
ごく簡単ですが、作ってみました。

0. Cookie名 browsing_history

a:3:{i:0;s:6:"579230";i:1;s:7:"2923713";i:2;s:7:"6039294";}
中を覗くと、こんな感じになっています。
上記例では履歴が3点あり、""に囲まれた部分に商品IDが入っています。
そのほか、a:履歴の登録数、i:連番、s:商品IDの桁数。PHPのserialize()関数を参照するとよいです。
登録数はMAX10件らしい。

1. コード

<script src="http://example.com/jquery.cookie.min.js" type="text/javascript"></script>

<a href="#" onClick="JavaScript:$.cookie('browsing_history','',{expires:-1});location.reload();return false">削除</a>
jQueryプラグインのCookie操作を使っています(jquery.cookie.min.js)。
リロード『location.reload();』は機能的に不要かもしれませんが、一応。
履歴を全削除します。