このコードを機能させることはできませんが、かなり単純なものを見逃しているに違いありません。 Cookieが存在するかどうか、{作成しない}場合は{何もしない}かどうかを確認しようとしています。ページにアラートを含めることで、Cookieをテストしています。基本的には、Cookieに参照URLを再作成し続けたくないので、最初に参照したURLのみを取得しようとしています。
$(document).ready(function(){
if ($.cookie('bas_referral') == null ){
var ref = document.referrer.toLowerCase();
// set cookie
var cookURL = $.cookie('bas_referral', ref, { expires: 1 });
}
});
現在のCookieの内容を表示する:
// get cookie
alert($.cookie('bas_referral'));
// delete cookie
$.cookie('bas_referral', null);
防弾方法は次のとおりだと思います:
if (typeof $.cookie('token') === 'undefined'){
//no cookie
} else {
//have cookie
}
Null、空、または未定義の変数の型をチェックすると、常に「未定義」が返されます
編集:さらに簡単にアクセスできます:
if (!!$.cookie('token')) {
// have cookie
} else {
// no cookie
}
!!
は、 falsy値 をfalseに変更します。これにより0
falseに!
$(document).ready(function() {
var CookieSet = $.cookie('cookietitle', 'yourvalue');
if (CookieSet == null) {
// Do Nothing
}
if (jQuery.cookie('cookietitle')) {
// Reactions
}
});
私はこれを使用していたため、これで多くのトラブルが発生していました:
if($.cookie('token') === null || $.cookie('token') === "")
{
//no cookie
}
else
{
//have cookie
}
上記は、Cookieを設定するかどうかに関係なく、常にfalseを返していました。私のテストから、オブジェクトは設定される前に未定義であるように見えるので、コードに以下を追加すると修正されました。
if($.cookie('token') === null || $.cookie('token') === ""
|| $.(cookie('token') === "null" || $.cookie('token') === undefined)
{
//no cookie
}
else
{
//have cookie
}
値付きで存在するかどうかを確認した後、Cookieを設定できます。
$(document).ready(function(){
if ($.cookie('cookie')) { //if cookie isset
//do stuff here like hide a popup when cookie isset
//document.getElementById("hideElement").style.display = "none";
}else{
var CookieSet = $.cookie('cookie', 'value'); //set cookie
}
});
これを非常に簡単に試してください:
var cookieExist = $.cookie("status");
if(cookieExist == "null" ){
alert("Cookie Is Null");
}