Javascript 使用本地存储进行页面计数点击

Javascript 使用本地存储进行页面计数点击,javascript,Javascript,就我的一生而言,我无法理解这一点,我想知道是否有人可以帮助我 我儿子正在做一些html作业。我们正在尝试放置一个页面计数器,该计数器将计算并显示页面的点击数。他有一个索引和另外三页。我在每一页上都写了这个: <div class="page-count"> <script type="text/javascript"> if (localStorage.pagecount) { localStorage.pagecount=

就我的一生而言,我无法理解这一点,我想知道是否有人可以帮助我

我儿子正在做一些html作业。我们正在尝试放置一个页面计数器,该计数器将计算并显示页面的点击数。他有一个索引和另外三页。我在每一页上都写了这个:

<div class="page-count">
  <script type="text/javascript">
      if (localStorage.pagecount)
        {
        localStorage.pagecount=Number(localStorage.pagecount) +1;
        }
    else
      {
        localStorage.pagecount=1;
        }
    document.write("You've had "+ localStorage.pagecount + " hits.");
  </script>
</div>

if(localStorage.pagecount)
{
localStorage.pagecount=Number(localStorage.pagecount)+1;
}
其他的
{
localStorage.pagecount=1;
}
编写(“您已经有”+localStorage.pagecount+“点击次数”);
问题是它将所有点击数计算在一起,而不是每页的点击数…我如何计算单个页面的点击数,而不是总点击数


提前谢谢

因为
localStorage
可以跨同一域下的所有页面工作,所以它们将计算相同的数字

如果您想区分它们,可以尝试以下方法:

var url_segment = window.location.href.split('/');
var script_name = url_segment[url_segment.length - 1];
if (localStorage[script_name]) {
    localStorage[script_name] = parseInt(localStorage[script_name]) + 1;
}
else {
    localStorage[script_name] = 1;
}

document.write("You've had "+ localStorage[script_name] + " hits.");

请注意,我不想使用整个路径作为键,只想使用脚本名。您很可能可以使用整个路径,我只是觉得这更漂亮。

因为
localStorage
可以跨同一域下的所有页面工作,它们将计算相同的数字

如果您想区分它们,可以尝试以下方法:

var url_segment = window.location.href.split('/');
var script_name = url_segment[url_segment.length - 1];
if (localStorage[script_name]) {
    localStorage[script_name] = parseInt(localStorage[script_name]) + 1;
}
else {
    localStorage[script_name] = 1;
}

document.write("You've had "+ localStorage[script_name] + " hits.");

请注意,我不想使用整个路径作为键,只想使用脚本名。您很可能可以使用整个路径,我只是觉得这更漂亮。

localStorage
是域范围的,它的值在整个站点上共享,而不仅仅是该站点上的一个页面<代码>本地存储值也仅保存在用户的浏览器中,而不保存在承载网站的服务器上。如果要构建页面计数器,请记住这一点

如果您使用
localStorage
进行计数,那么您将只记录特定用户从特定计算机访问该页面的次数

如果这确实是您正在寻找的功能,您可以通过在
pagecount
对象中为每个页面指定一个单独的键来实现

比如:

// If this is the first time someone has visited your site, you want 
// to check to see if pagecount has been defined.  If not, define the pagecount object.
!localStorage.pagecount ? localStorage.pagecount = {} : '';

var currentPage = window.location.href;
if(localStorage.pagecount[currentPage]){
    localStorage.pagecount[currentPage] = Number(localStorage.pagecount[currentPage]) + 1;
}
else{
    localStorage.pagecount[currentPage] = 1;
}

以上内容为您的
pagecount
对象提供了站点上存在的每个页面的一个键。

localStorage
是域范围的,其值在整个站点上共享,而不仅仅是该站点上的一个页面<代码>本地存储值也仅保存在用户的浏览器中,而不保存在承载网站的服务器上。如果要构建页面计数器,请记住这一点

如果您使用
localStorage
进行计数,那么您将只记录特定用户从特定计算机访问该页面的次数

如果这确实是您正在寻找的功能,您可以通过在
pagecount
对象中为每个页面指定一个单独的键来实现

比如:

// If this is the first time someone has visited your site, you want 
// to check to see if pagecount has been defined.  If not, define the pagecount object.
!localStorage.pagecount ? localStorage.pagecount = {} : '';

var currentPage = window.location.href;
if(localStorage.pagecount[currentPage]){
    localStorage.pagecount[currentPage] = Number(localStorage.pagecount[currentPage]) + 1;
}
else{
    localStorage.pagecount[currentPage] = 1;
}

以上内容为您的
pagecount
对象提供了站点上存在的每个页面的一个键。

是否保留单独的计数器?i、 e.
localStorage.page1.pagecount、localStorage.page2.pagecount
等-每个HTML文件将加载和存储一个不同的变量到localStorage,或从localStorage加载和存储一个不同的变量,保留单独的计数器怎么样?i、 e.
localStorage.page1.pagecount、localStorage.page2.pagecount
等-每个HTML文件将加载和存储不同的变量到localStorage,或从localStorage加载和存储不同的变量