如何在用户进入asp.net

时间:2015-12-31 05:57:48

标签: javascript jquery html asp.net global-asax

我需要在2分钟后在asp.net的网页上生成弹出窗口,或者在用户网站上浏览两个网页后根据某些数据库条件进入网站,并且该弹出窗口应该出现,无论页面刷新,page_load即使是用户刷新页面无关紧要弹出窗口应该在确切的时间之后出现,一旦弹出窗口出现它不应该出现在同一个会话中。对于这个天气,我需要在global.asax中生成新的会话来计算时间或计算浏览的页面数量或如何实现这个?

2 个答案:

答案 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 );