我想计算一下我的网页刷新的次数"刷新"。然后在页面上显示一条消息以及刷新次数。
例如,在第一次刷新时,以下语句显示 - " 1刷新,继续"等等。句子将随着刷新次数而变化。我至少需要打印10个句子。
最初,我认为我只是将句子放在一个数组中,然后使用cookie来计算刷新次数,然后根据刷新次数显示相应的句子。
但是,cookie是一个问题,因为它们存储字符串而不是整数。我尝试使用Number()
和parseInt()
函数,但它们似乎无法正常工作,出于某些原因使用JavaScript会导致整个网页混乱。
然后我想到在PHP中使用会话。他们在第一次接近和我的事情上看起来也很好(因为我不喜欢在客户端做任何事情)。但是他们也没有工作,我在网页上得到了一半的印刷声明。没有反击,没有。
我已阅读过上述问题 我尝试过饼干 我试过了会议。
我的计数器PHP文件 -
<?PHP
session_start();
if(isset($_SESSION['views'])) {
$_SESSION['views'] = $_SESSION['views']+ 1;
} else {
$_SESSION['views'] = 1;
}
echo "Total page views = ". $_SESSION['views'];
?>
我的index.html
文件末尾包含此脚本以运行上述脚本,该脚本存储在名为counter.php
的其他文件中。
<?php
echo "<hr><div align=\"center\">";
include_once "counter.php"; // this will include the counter.
echo "</div>";
?>
但是,当我加载页面时,我只会在底部获得"; include_once "counter.php"; // this will include the counter. echo ""; ?>
。
欢迎任何解决方案。 Cookies或会话等等。我需要让这个东西运转起来。
P.S-非常抱歉,但我无法提供指向我网页的链接,因为我必须在2017年2月15日之前保密。
答案 0 :(得分:2)
php不会在.html
扩展程序中执行。
(直到通过.htacces
或URL-rewriting
完成一些变通办法
1.将index.html
更改为index.php
2.还要在<?php session_start();?>
之上添加index.php
,以便它可以显示会话数据。
注意: - 执行这两项更改后,请检查一次。
连续页面刷新的屏幕截图: -
http://i.share.pho.to/f2e45784_o.png
答案 1 :(得分:2)
使用cookies有很多cookie插件可用,如cookies.js
编辑---
我假设您正在使用Cookie插件..我使用过https://github.com/js-cookie/js-cookie
JS代码---
$(function () {
RefreshCode();
})
function RefreshCode()
{
var counter = Cookies.get('counter');
if (!counter) {
Cookies.set('counter', 1);
} else {
counter++;
Cookies.remove('counter');
Cookies.set('counter', counter);
}
console.log(Cookies.get('counter'));
}
这是完整的工作示例供您参考....
HTML代码---
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<script src="jquery-3.1.1.min.js"></script>
<script src="js.cookie.js"></script>
<script src="CustomCounter.js"></script>
</body>
</html>
希望这个帮助...
答案 2 :(得分:1)
您仍然可以使用Cookie,甚至localStorage或sessionStorage实现您的需求。您只需要在页面加载时获取值并显示它,然后在重新加载页面时递增值。试试这个:
<h1></h1>
<button>Refresh</button>
var refreshes = parseInt(sessionStorage.getItem('refreshes'), 10) || 0;
$('h1').text('Refreshed ' + refreshes + ' time(s)');
$('button').click(function() {
sessionStorage.setItem('refreshes', ++refreshes);
window.location.reload();
})