Thxs Shawn за ваш ответ , но, к сожалению, поскольку браузеры не всегда отправляют реферера, он недостаточно надежен, чтобы использовать его каждый раз. Потому что, если он не установлен, то вы как бы зацикливаетесь.
Еще одним решением, о котором я подумал, было перенаправление на совершенно отдельную страницу, которая сама по себе проверяет наличие файлов cookie (путем перенаправления на себя). Если куки включены, они будут перенаправлены обратно на исходную страницу. Если это не так, то он перенаправит на страницу о проблеме. Я думаю, что это должно работать, но я не уверен.
В конце концов, я попробовал плагин jQuery Cooke в IE 6, 7 и 8, Safari 4, Google Chrome 4, Firefox 3.5, Opera 10.2 и на нескольких различных конфигурациях, и он работал во всех них. Вот код, который я использую:
$.cookie('test_cookie', 'cookie_value', { path: '/' });
if ($.cookie('test_cookie') == 'cookie_value') {
// cookie worked, set/enable appropriate things
}
Это не идеально, но я думаю, что это будет работать в 95% случаев. В противном случае он потерпит неудачу и просто не позволит им что-либо сделать.