0

ブラウザのjqueryダイアログボックスをフラッシュして、他のウィンドウにいる場合に何か重要なことを行う必要があることをユーザーに知らせる方法はありますか. ユーザーがセッションを延長する必要があるタイムアウト ポップアップの場合を考えてみましょう。ダイアログをフラッシュできれば、別のページにいるときにユーザーに通知されます。

実際には、ユーザーが適切なアクションを実行できるように、ユーザーの注意が必要なタイムアウト jquery ポップアップです。

4

2 に答える 2

0

それはまさにあなたが話していることではありませんが、実際に必要な UI 効果は動的なファビコンの変更だと思います:ユーザーがテーマを変更したときにサイトでファビコンを変更することは可能ですか?

これを使用すると、ユーザーがウィンドウに戻るまで、ファビコンをある種のアラート アイコンと 1 秒ごとに切り替えることができます。

于 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 に答える