问题
Using java script,how to check if a user accepts cookies for a domain. Does YUI has any such component to check ?
回答1:
Library:
<script type="text/javascript">
function createCookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
}
else expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name, "", -1);
}
function areCookiesEnabled() {
var r = false;
createCookie("testing", "Hello", 1);
if (readCookie("testing") != null) {
r = true;
eraseCookie("testing");
}
return r;
}
</script>
Code to run:
<script type="text/javascript">
alert(areCookiesEnabled());
</script>
Remember:
This only works if Javascript are allowed to run!
Credit:
This is the re-post from here. Original author is balexandre.
来源:https://stackoverflow.com/questions/7790823/how-to-check-if-a-user-accepts-cookies