0

我想为特定页面设置一个变量。每当加载该页面时,该值都应该增加。我不想使用会话或应用程序范围,还有其他更好的选择吗?

如果我在加载页面时分配一个变量,它会自动初始化如何避免这种情况。


抱歉没有给出完整的细节。

如果点击了任何其他 url,则该值应初始化。

请告诉我。

4

3 回答 3

1

尝试使用jQuery Cookie

$(document).ready(function(){
var count=parseInt($.cookie('the_page_count_cookie'),10);

$.cookie('the_page_count_cookie', count+1); 

});
于 2013-10-24T11:43:41.753 回答
1

使用 cookie。有一个优秀的 jQuery cookie 包装器插件。 https://github.com/carhartl/jquery-cookie

你就是这样的。

<head>在你的和</head>标签之间添加这个:

<script src="/path/to/jquery.cookie.js"></script>

现在用法看起来像这样(对于您的用例 - 将其添加到每个页面):

<script type="text/javascript">

$(document).ready(function()
{
    // Get Cookie Value
    var currentCount = $.cookie('myPageCounter');

    // Create Cookie, if the cookie doesn't exist
    if (!currentCount) {
        $.cookie('myPageCounter', 1);
    }

    // Otherwise, increment the cookie counter
    else {
        $.cookie('myPageCounter', (currentCount + 1));
    }
});

</script>
于 2013-10-24T11:44:05.203 回答
0

您可以使用 localStorage,例如

localStorage['yourVarname'] = yourFunctionResult;

只要您相信您的用户使用的是现代浏览器(Firefox 3.5+、Safari 4+、IE8+ 和 Chrome 都支持 localStorage)。否则你有几个选项,其中两个你不想使用,所以你留下了 cookie(另一个人为此提供了详细信息,所以我不会详细说明)或者另一个选项是,如下所述:Is it possible to在javascript中创建一个在刷新页面时不会改变的变量?

向 URL 传递数据并在页面加载时读取当前 URL(包括您传递的数据)。例如: 如果用户通过浏览器刷新,则将浏览器重定向到http://something.com/yourpage.html#flag=true;如果用户通过浏览器刷新,则将浏览器重定向到 http://something.com/yourpage.html#flag=false点击按钮。在页面的 onload 上,只需读取当前 URL 并查看标志是什么。

于 2013-10-24T11:43:48.817 回答