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