답변:
이것은 작업 표시 줄 단추가 색상을 변경하는 데 깜박이지 않지만 마우스를 움직일 때까지 제목이 깜박입니다. 이것은 크로스 플랫폼에서 작동하며 다른 탭에있는 경우에도 작동합니다.
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를 사용하지 않는 경우에도 소스 코드 를보고 싶을 수 있습니다 (모든 주요 브라우저를 완전히 지원하려는 경우 제목 깜박임을 수행 할 때 해결해야하는 몇 가지 기발한 버그 및 가장자리 사례가 있습니다).
내 "사용자 인터페이스"응답은 : 당신이 확실 사용자가 브라우저가 깜박 원하거나 할 생각 기를 원합니까 그들이 원하는 합니까? 내가 귀하의 소프트웨어를 사용하는 경우 이러한 경고가 매우 자주 발생하여 방해를 받으면 짜증이 날 것임을 알고 있습니다.
이 방법을 사용하고 싶다면 자바 스크립트 알림 상자를 사용하세요. 이것이 Google 캘린더가 이벤트 알림을 위해 수행하는 작업이며 아마도 몇 가지 생각을했을 것입니다.
웹 페이지는 실제로 알아야 할 알림을위한 최상의 매체가 아닙니다. "ZOMG, 서버가 다운되었습니다!"라는 문구를 따라 무언가를 설계하는 경우 경고, 자동화 된 전자 메일 또는 SMS 메시지를 적절한 사람에게 보낼 수 있습니다.
alert
.
아마도 당신은 Windows 자바 스크립트 API에 대한 으르렁 거리는 창에서 이것을 할 수 있습니다.
http://ajaxian.com/archives/growls-for-windows-and-a-web-notification-api
하지만 사용자는 으르렁 거리는 것을 설치해야합니다.
결국 이것은 NotificationAPI의 형태로 Google Gears의 일부가 될 것입니다.
http://code.google.com/p/gears/wiki/NotificationAPI
따라서 지금은 으르렁 거리는 접근 방식을 사용하고, 가능하면 창 제목 업데이트로 돌아가고, 결국 Gears 알림 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
내가 이것을 생각할 수있는 유일한 방법은 메시지가 수신 될 때 alert ( 'you have a new message')와 같은 일을하는 것입니다. 창이 최소화 된 경우 작업 표시 줄이 깜박이지만 원하지 않는 대화 상자도 열립니다.
이러한 사용자는 새 메시지가 도착할 때주의가 산만 해지기를 원합니다.
회사 내부 프로젝트 용 앱을 작성하는 것 같습니다.
알림 아이콘을 추가 한 다음 새 메시지를 받으면 멋진 팝업이나 풍선 팝업 등을 할 수있는 .net에서 작은 Windows 앱을 작성하는 것을 조사하고 싶을 수 있습니다.
이것은 지나치게 어렵지 않으며 '트레이 아이콘을 어떻게 표시합니까?'와 '알림 팝업을 어떻게 수행합니까?'라고 물어 보면 훌륭한 답변을 얻을 수 있습니다. :-)
기록을 위해 (경고 / 프롬프트 대화 상자를 사용하는 것 외에) JS에서 작업 표시 줄을 깜박일 수 없다고 확신합니다. 이것은 Windows에 특화된 것이며 JS는 실제로 그렇게 작동하지 않습니다. 일부 IE 관련 Windows 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();