3

我想在用户上用 Jquery 运行一个 javascript 函数,但只有当他浏览网站上的 3 个页面时。有谁知道是否可以这样做?如何?

4

4 回答 4

2

您可以使用会话状态或 url 参数跟踪访问过的页面

于 2013-09-18T20:08:35.723 回答
2

你可以使用cookies。快速的谷歌搜索应该会产生大量的 jQuery Cookie 插件。

于 2013-09-18T20:09:26.380 回答
1

您可以将计数存储在localStorage.

(function($){
    $(document).ready(function () {
        var count = localStorage.getItem('pageCount');
        if (!count) {
            count = 1;
        } else {
            count++;
        }

        localStorage.setItem('pageCount', count);

        if(count === 3) {
            theFunctionYouWantToCall();
        }
    });

    function theFunctionYouWantToCall() {
        // do some javascript/jQuery stuff
    }
}(jQuery));

如果你想使用 localStorage有一个 cookie 回退,你可以使用我的缓存库

于 2013-09-18T20:18:55.190 回答
0

假设三个独特的页面访问:

<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.3.1/jquery.cookie.min.js"></script>
<script type="text/javascript">
  $(function(){
    var c = JSON.parse($.cookie('visitsToPage') || '[]');

    if (c.indexOf(window.location.href) == -1) c.push(window.location.href);

    if (c.length == 3){
      // this is third visit--do something
    }

    $.cookie('visitsToPage', JSON.stringify(c));
  });
</script>

当然,这可以重构为使用 localStorage,但我会留给你。

于 2013-09-18T20:13:29.603 回答