如何使用Cookie.js根据以前访问过的页面以不同方式加载页面

时间:2015-06-06 13:31:47

标签: javascript jquery if-statement cookies toggleclass

我一直无法找到正确的方法来实现这一点主要是因为语法问题,因为我对所有这些都相当新。

我想检查用户是否去过某个页面(第2页)。我有这个脚本:

<script>
    $.cookie('visitPage2', true, { expires: 365 });
</script>

我的第一个问题是:
页面加载后会立即运行吗?那是该页面上的整个JS。回到我的主页我运行这个脚本来改变图像从显示锁定到显示实际图像。 (但我知道我的语法不对):

<script>
    if (!$.cookie('visitobj1')){
    $( ".swap1" ).toggleClass( "lock unlock" );
    };
</script>  

我之前检查过我的toggleClass只是通过点击测试而不是上传到服务器来测试cookie而且它运行得很好:

<script>
    $( ".swap" ).click(function() {
    $( ".swap" ).toggleClass( "lock unlock" );
    };
</script>

非常感谢任何帮助!谢谢!

(只是一个简短的总结,如果我太罗嗦。我想检查用户是否去过Page2。如果他们有我希望主页显示新图像而不是通常的锁定图像,这是改变的使用toggleClass)

Cookie.js文档在这里:https://github.com/js-cookie/js-cookie

1 个答案:

答案 0 :(得分:0)

  

我的第一个问题是:   页面加载后会立即运行吗?

假设您将“已加载页面”视为“已加载所有HTML”,则在加载页面后将无法运行。浏览器从上到下读取HTML,当他到达script标记时,脚本将运行。因此,一旦加载页面,它就不会运行,而页面加载时会运行

注意:您提到了js-cookie存储库。在js-cookie版本2.0.0中,cookie创建API已从$.cookie( name, value, options )更改为Cookies.set( name, value, attributes ) 因此,在您的情况下,您需要将其编写为Cookies.set( 'visitPage2', 'true', { expires: 365 } )