Php 横幅将在4分钟后出现
我创建了一个横幅,我希望它在4分钟后出现。 我使用modalbox显示横幅 我需要那样的东西Php 横幅将在4分钟后出现,php,javascript,ajax,Php,Javascript,Ajax,我创建了一个横幅,我希望它在4分钟后出现。 我使用modalbox显示横幅 我需要那样的东西 If customers_session_time > 4 minutes then show me the banner 但是如果我将客户的会话时间存储到数据库中,并在PHP上编写一些代码,那么用户必须刷新页面才能看到横幅 如果我使用javascript的setTimeout(),则每次用户刷新页面时都会刷新超时时间 还有其他方法吗?您无法访问JavaScript中的任何会话,因为它是客户端会
If customers_session_time > 4 minutes then show me the banner
但是如果我将客户的会话时间存储到数据库中,并在PHP上编写一些代码,那么用户必须刷新页面才能看到横幅
如果我使用javascript的setTimeout(),则每次用户刷新页面时都会刷新超时时间
还有其他方法吗?您无法访问JavaScript中的任何会话,因为它是客户端会话。
您可以做的是,在成功加载DOM之后,可以使用
setTimeout()编码>方法,并在4分钟后显示横幅
$(document).ready(function(){
setTimeout(function(){
$('#banner').show();
},(1000*60*4));
});
编辑:这个问题是在我发布答案后编辑的。答案回应了第一个问题标记。您无法访问JavaScript中的任何会话,因为它是客户端会话。
您可以做的是,在成功加载DOM之后,可以使用setTimeout()编码>方法,并在4分钟后显示横幅
$(document).ready(function(){
setTimeout(function(){
$('#banner').show();
},(1000*60*4));
});
编辑:这个问题是在我发布答案后编辑的。答案回应了第一个问题标记。记住用户在会话中请求站点时的时间戳。
每次用户进入网站时,你都会检查他是否是第一次来这里,或者他最近是什么时候来的。然后计算会话中已在站点上花费的时间
var timeSpentOnSites = (1000*60*4) - <?= $_SESSION['TIME_SPENT_ALREADY'] ?>;
$(document).ready(function(){
setTimeout(function(){
$('#banner').show();
},timeSpentOnSites < 0 ? 0 : timeSpentOnSites);
});
var timespuntonsites=(1000*60*4)-;
$(文档).ready(函数(){
setTimeout(函数(){
$('#banner').show();
},timespuntonsites<0?0:timespuntonsites);
});
记住用户在会话中请求站点时的时间戳。
每次用户进入网站时,你都会检查他是否是第一次来这里,或者他最近是什么时候来的。然后计算会话中已在站点上花费的时间
var timeSpentOnSites = (1000*60*4) - <?= $_SESSION['TIME_SPENT_ALREADY'] ?>;
$(document).ready(function(){
setTimeout(function(){
$('#banner').show();
},timeSpentOnSites < 0 ? 0 : timeSpentOnSites);
});
var timespuntonsites=(1000*60*4)-;
$(文档).ready(函数(){
setTimeout(函数(){
$('#banner').show();
},timespuntonsites<0?0:timespuntonsites);
});
这不是一个非常完整的代码,但您可能会有一个想法
<?php
session_start();
if( empty($_SESSION['time_session_started']) ){
$_SESSION['time_session_started'] = time();
}
$timeout = $_SESSION['time_session_started']+4*60 - time();
if( $timeout<0 ){
$timeout = 0;
}
?>
<script language="JavaScript">
<?php if( $timeout ){ ?>
setTimeout(function (){
showBanner();
},<?php echo $timeout*1000; ?>);
<?php }else{ ?>
showBanner();
<?php }
</script>
setTimeout(函数(){
showBanner();
},);
showBanner();
这不是一个非常完整的代码,但您可能会有一个想法
<?php
session_start();
if( empty($_SESSION['time_session_started']) ){
$_SESSION['time_session_started'] = time();
}
$timeout = $_SESSION['time_session_started']+4*60 - time();
if( $timeout<0 ){
$timeout = 0;
}
?>
<script language="JavaScript">
<?php if( $timeout ){ ?>
setTimeout(function (){
showBanner();
},<?php echo $timeout*1000; ?>);
<?php }else{ ?>
showBanner();
<?php }
</script>
setTimeout(函数(){
showBanner();
},);
showBanner();
您可以访问与会话相关的服务器端页面结构中的内容。两全其美。我明白了。。但是如果用户刷新页面,setTimeout将从开始计数?当然!我不喜欢php,所以我只能支持javascript和jquery!您可以访问与会话相关的服务器端页面结构中的内容。两全其美。我明白了。。但是如果用户刷新页面,setTimeout将从开始计数?当然!我不喜欢php,所以我只能支持javascript和jquery!