我需要在2分钟后在asp.net的网页上生成弹出窗口,或者在用户网站上浏览两个网页后根据某些数据库条件进入网站,并且该弹出窗口应该出现,无论页面刷新,page_load即使是用户刷新页面无关紧要弹出窗口应该在确切的时间之后出现,一旦弹出窗口出现它不应该出现在同一个会话中。对于这个天气,我需要在global.asax中生成新的会话来计算时间或计算浏览的页面数量或如何实现这个?
答案 0 :(得分:1)
你有很多条件,我们可以谈谈在2分钟后显示弹出窗口。
为此,请使用javascript的setInterval Event
。
var timerID = setInterval(function() {
// your code goes here...
}, 60 * 1000 * 2);
现在,这将在每2分钟经过一次后执行。如果您只想这样做一次,请通过以下代码取消注册事件。
clearInterval(timerID);
你也可以使用setTimeout,jQuery的delay()函数等等。
请参阅此jQuery Documentation中附带的示例,了解delay()。 以下是示例代码的主要部分。
$( "div.first" ).slideUp( 300 ).delay( 800 ).fadeIn( 400 );
请参阅this Example from w3schools了解setTimeout
以下是setTimeout
代码的主要部分$(function(){
setTimeout(function(){ alert("Hello"); }, 3000);
});
现在,您可以将这些js逻辑与逻辑背后的代码配对,以获得所有期望的条件。
答案 1 :(得分:0)
使用localStorage
表示条件,setTimeout
运行一次但浏览器特定。
setTimeout( function() {
if(!localStorage.getItem('isPopupRendered') ) {
// open your modal.
console.log('open Modal');
localStorage.setItem('isPopupRendered', true);
}
}, 60 * 1000 * 2 );