回答:
これにより、タスクバーボタンの色が変化して点滅することはありませんが、マウスを動かすまでタイトルが点滅します。これはクロスプラットフォームで動作するはずです。別のタブにある場合でも同様です。
newExcitingAlerts = (function () {
var oldTitle = document.title;
var msg = "New!";
var timeoutId;
var blink = function() { document.title = document.title == msg ? ' ' : msg; };
var clear = function() {
clearInterval(timeoutId);
document.title = oldTitle;
window.onmousemove = null;
timeoutId = null;
};
return function () {
if (!timeoutId) {
timeoutId = setInterval(blink, 1000);
window.onmousemove = clear;
}
};
}());
更新:HTML5通知の使用を確認することをお勧めします。
私が作ったjQueryプラグインをブラウザのタイトルバーに通知メッセージを点滅する目的のために。点滅間隔、継続時間、ウィンドウ/タブがフォーカスされたときに点滅を停止するかどうかなど、さまざまなオプションを指定できます。プラグインは、Firefox、Chrome、Safari、IE6、IE7、IE8で動作します。
これを使用する方法の例を次に示します。
$.titleAlert("New mail!", {
requireBlur:true,
stopOnFocus:true,
interval:600
});
jQueryを使用していない場合でも、ソースコードを確認することをお勧めします(すべての主要なブラウザーを完全にサポートしたい場合に、タイトルの点滅を行う際に回避する必要があるいくつかの風変わりなバグとエッジケースがあります)。
私の "ユーザーインターフェイス"応答は次のとおりです。ユーザーはブラウザーをフラッシュすることを望んでいますか、それともユーザーが望んでいることだと思いますか?私があなたのソフトウェアを使用している場合、これらのアラートが非常に頻繁に発生し、邪魔になると、私は迷惑になることを知っています。
この方法で実行したい場合は、JavaScript警告ボックスを使用してください。それがGoogleカレンダーが予定のリマインダーに対して行うことであり、おそらく彼らはそれにいくつかの考えを入れました。
Webページは、知る必要のあるアラートを送信するための最良の媒体ではありません。「ZOMG、サーバーがダウンしている」に沿って何かを設計している場合!適切な人々へのアラート、自動化された電子メール、またはSMSメッセージがトリックを実行する可能性があります。
alert
。
おそらくあなたはこれをwindows for javascript APIのうなり声でwindowsで行うことができます:
http://ajaxian.com/archives/growls-for-windows-and-a-web-notification-api
ただし、ユーザーはグロールをインストールする必要があります。
最終的には、これは、NotificationAPIの形式で、Google Gearsの一部になります。
http://code.google.com/p/gears/wiki/NotificationAPI
したがって、私は今のところうなり声アプローチを使用し、可能であればウィンドウタイトルの更新にフォールバックし、Gears Notification APIを使用するためのエンジニアリングを最終的に利用できるようになるまでエンジニアリングすることをお勧めします。
var oldTitle = document.title;
var msg = "New Popup!";
var timeoutId = false;
var blink = function() {
document.title = document.title == msg ? oldTitle : msg;//Modify Title in case a popup
if(document.hasFocus())//Stop blinking and restore the Application Title
{
document.title = oldTitle;
clearInterval(timeoutId);
}
};
if (!timeoutId) {
timeoutId = setInterval(blink, 500);//Initiate the Blink Call
};//Blink logic
私がこれを行うと考えることができる唯一の方法は、メッセージが受信されたときにアラート(「あなたは新しいメッセージがあります」)のようなことをすることです。これにより、ウィンドウが最小化されている場合はタスクバーが点滅しますが、ダイアログボックスが表示され、不要な場合があります。
新しいメッセージごとにWebページのタイトルを変更して、ユーザーに警告することができます。私はブラウザチャットクライアントのためにこれを行い、ほとんどのユーザーはそれが十分に機能すると考えました。
document.title = "[user] hello world";
これらのユーザーは、新しいメッセージが届いたときに気が散ることを望んでいます。
社内プロジェクト用のアプリを書いているようですね。
通知アイコンを追加し、新しいメッセージを受け取ったときにファンシーポップアップやバルーンポップアップなどを実行できる、小さなウィンドウアプリを.netで作成することを検討することもできます。
これはそれほど難しくはありません。「トレイアイコンを表示するにはどうすればよいですか」と「ポップアップ通知をどのように表示すればよいですか」と尋ねると、すばらしい答えが得られます。
記録のために、これは(アラート/プロンプトダイアログボックスを使用する場合を除いて)JSでタスクバーをフラッシュできないことを確信しています。これはウィンドウ固有であり、JSは実際にはそのように機能しないためです。一部のIE固有のウィンドウのActiveXコントロールを使用できる場合がありますが、貧しいユーザーにIEを適用します。それをしないでください:-(
function blinkTab() {
const browserTitle = document.title;
let timeoutId;
let message = 'My New Title';
const stopBlinking = () => {
document.title = browserTitle;
clearInterval(timeoutId);
};
const startBlinking = () => {
document.title = document.title === message ? browserTitle : message;
};
function registerEvents() {
window.addEventListener("focus", function(event) {
stopBlinking();
});
window.addEventListener("blur", function(event) {
const timeoutId = setInterval(startBlinking, 500);
});
};
registerEvents();
};
blinkTab();