在设置时收听Cookie,刷新页面 - Javascript

时间:2018-06-07 09:11:29

标签: javascript jquery cookies listener

我正在使用一个设置cookie的弹出插件。

我已将限制内容的内容限制在single.php中的cookie中,如下所示:

<?php if(isset($_COOKIE['pum-88881'])){
the_content();
}
else {
    echo apply_filters( 'the_content', wp_trim_words( strip_tags( $post->post_content ), 55 ) )  . '<p>The full article is only available to subscribers to our newsletter.<a class="opensub">Subscribe to our Newsletter to Continue Reading</a></p>';
}
?>  

此代码有效。当存在值为pum-88881的cookie时,将显示完整内容。唯一的问题是,它需要刷新。

所以,为了尝试解决这个问题,我一直试图用Javascript编写一个监听器:

function getCookie(c_name) {
var c_value = document.cookie,
    c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1) c_start = c_value.indexOf(c_name + "=");
if (c_start == -1) {
    c_value = null;
} else {
    c_start = c_value.indexOf("=", c_start) + 1;
    var c_end = c_value.indexOf(";", c_start);
    if (c_end == -1) {
        c_end = c_value.length;
    }
    c_value = unescape(c_value.substring(c_start, c_end));
}
return c_value;
}
setTimeout(function(){
var username = getCookie("pum-88881");
if (username != "") {     

    }
    else{
location.reload()
    }
}, 1000);

它不起作用。控制台中没有消息。

你说什么?

1 个答案:

答案 0 :(得分:1)

由于这与Popup Maker有关,我将在此处发布。假设你在关闭时设置cookie,你会使用类似的东西。

jQuery('#pum-88881').on('pumAfterClose', function () {
    window.location.reload(true);
});