我想为特定页面设置一个变量。每当加载该页面时,该值都应该增加。我不想使用会话或应用程序范围,还有其他更好的选择吗?
如果我在加载页面时分配一个变量,它会自动初始化如何避免这种情况。
抱歉没有给出完整的细节。
如果点击了任何其他 url,则该值应初始化。
请告诉我。
尝试使用jQuery Cookie
$(document).ready(function(){
var count=parseInt($.cookie('the_page_count_cookie'),10);
$.cookie('the_page_count_cookie', count+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>
您可以使用 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 并查看标志是什么。