以下是我在JavaScript中的操作。有没有办法在PHP中做到这一点? 我正在开发一个需要此功能但不能使用JavaScript的项目。
setInterval ( "checkHistory()", 1000 );
function checkHistory() {
if (oldHistLength != history.length) {
removegateway();
oldHistLength = history.length;
}
}
答案 0 :(得分:2)
很抱歉,说使用PHP无法做到这一点。您唯一的选择是在某处使用JavaScript。
然而,您可以实现我认为您正在尝试使用其他技术 - PHP会话和请求URI。
这涉及将用户访问的URL存储到变量中(或者您可以使用MySQL),该变量可以在当前会话中的网站上的任何位置引用。
这是一个(未经测试的)示例:
<?php
session_start();
// Retrieve/create the current list
if( isset($_SESSION['history']) ) {
$history = $_SESSION['history'];
} else {
$history = new array();
}
// Add the current URL to the history array
array_push($history, $_SERVER['REQUEST_URI']);
// Do anything else you want to here
// Store the array again
$_SESSION['history'] = $history;
?>
答案 1 :(得分:0)
在您的代码中,您可以保留一个包含$ _SERVER ['php_self'],serialize()
值的数组,并将其存储在会话变量中。尽管如此,这可能还不足以满足您的要求。我不确定removegateway()
是做什么的,但这段代码是否试图阻止后退按钮被使用?
如果阻止缓存页面,您可以将阵列中的第二个值与当前页面中的最后一个值进行比较,如果它们匹配,则会检测到后退按钮。只有在无法返回到前端的上一页时才能实现这一点。
预防后退按钮通常被认为是一件坏事,所以最好重新考虑一下你做事的方式并提出更好的解决方案。