0

有没有办法在浏览器上闪烁 jquery 对话框,让用户知道如果他在其他窗口上需要做一些重要的事情。让我们以用户需要扩展会话的超时弹出窗口为例,所以如果我们可以闪烁对话框,那么当用户在其他页面上时会收到通知。

实际上它是我希望用户注意的超时 jquery 弹出窗口,以便他可以采取适当的措施。

4

2 回答 2

0

这不完全是您在说的,但我认为您实际需要的 UI 效果是动态的图标更改,如下所述:当用户更改主题时,是否可以在网站上更改图标?

使用它,您可以每隔一秒左右用某种警报图标来回交换图标,直到用户返回窗口。

于 2012-06-27T16:36:21.673 回答
0

这是我评论的扩展版本。

假设你有这个 JS cookie 对象:

var Cookie = {
  set: function(name,value,seconds) {
    var date = new Date;
    date.setTime(date.getTime() + (typeof seconds != "undefined" ? seconds : 1) * 1000);
    document.cookie = name + "=" + value + "; expires=" + date.toGMTString() + "; path=/; domain=." + vitalPage.getDomain();
  },
  get: function(name){
    var re = new RegExp("(?:^| )" + name + "=([^;]*)", "i");
    var matches = document.cookie.match(re);
    return matches && matches.length == 2 ? matches[1] : null;
  },
  read: function(name){
    var re = new RegExp("(?:^| )" + name + "=([^;]*)", "i");
    var matches = document.cookie.match(re);
    return matches && matches.length == 2 ? matches[1] : null;
  },
  unset: function(name){
    this.set(name,'',-1);
  }
}

在初始页面加载时,执行以下操作:

var sess_expires = Cookie.get('sess_expires'),
    sess_remaining,
    show_dialog = function() {
      $('#your_dialog_id').show();
    }

if (sess_expires !== null) {
  sess_remaining = sess_expires - new Date();
  if (sess_remaining > 0) {
    window.setTimeout(show_dialog, sess_remaining); // show dialog when session expires
  }
  else show_dialog(); // show dialog now - session expired
}
else {
  Cookie.set('sess_expires', new Date() + 1800000);
  window.setTimeout(show_dialog, 1800000); // show dialog when session expires
}
于 2012-06-27T16:44:17.183 回答