0

訪問者の最新性を追跡するために Cookie を書き込もうとしていますが、IE8 で壁にぶつかっています。私のログが IE ユーザーに表示しているエラーは、それほど有益ではありません: TypeError: オブジェクトはこのプロパティまたはメソッドをサポートしていません。

IEで動作するように、以下のコードで何を修正する必要があるか考えていますか?

var currentDate = Date.now();
var cookies = document.cookie.match(/jcom\=.+\}/);

if (cookies == null) {
var cookieBase = '{"created":"createdNull","lastVisit":"visitNull"}';
var siteTime = $.parseJSON(cookieBase);
siteTime.created = currentDate;
siteTime.lastVisit = currentDate;
cookieOut = "{\"created\":" + siteTime.created + ",\"lastVisit\":" + siteTime.lastVisit + "};expires=Thu, 2 Aug 2020 20:47:11 UTC;path=/";
document.cookie="jcom=" + cookieOut;
}
else {
var cookies = document.cookie.match(/jcom\=.+\}/)[0];
var cookieSplit1 = cookies.split('=')[1];
var cookieSplit= cookieSplit1.split(';')[0]
var siteTime = $.parseJSON(cookieSplit);
siteTime.lastVisit = currentDate;
cookieOut = "{\"created\":" + siteTime.created + ",\"lastVisit\":"+ siteTime.lastVisit + "};expires=Thu, 2 Aug 2020 20:47:11 UTC;path=/";
document.cookie="jcom=" + cookieOut;
}

ありがとう!

4

1 に答える 1

5

Internet Explorer 8 はサポートしていませんDate.now()。非常に簡単に自分で実装できます。

if( !Date.now) {
    Date.now = function() {return new Date.getTime();};
}
于 2012-10-09T22:02:10.237 に答える