Slettet bruger
27. februar 2004 - 00:33
Der er
2 kommentarer og
1 løsning
"Markering" af aktivt vindue i proceslinjen
Hvordan "markerer" jeg et vindue, så det blinker blå i proceslinjen?
Jeg skal bruge det til en chat hvor man kan have flere chatvinduer åbne. Hvis der så bliver skrevet i et vindue, som ikke er aktivt, så skal det blinke i windows proceslinjen.
Slettet bruger
27. februar 2004 - 17:21
#1
Der findes ikke direkte nogen funktion til det i JavaScript, men du kan måske finde en form for workaround, som dog helt sikkert vil være styresystem- eller browserspecifik.
27. februar 2004 - 21:56
#2
i nogle tilfælde vil en window.focus(); gøre det (i andre vil vinduet bare få focus ... hvilket er pissehamrende irriterende, hvis man er bruger)
28. februar 2004 - 23:37
#3
<ole>
Der er ikke nogen JavaScript-løsning, der gør, hvad du ønsker. Et 'hack' kunne være at lade titlen på dokumentet 'blinke' mellem dets rigtige titel og f.eks: '- - - - - - - - -'.
Hvis alle chat-vinduer åbnes fra samme dokument, kan du i dette doku sætte en variabel: 'hasFocus = false'.
I chat-vinduerne skriver du så:
<script type="text/JavaScript">
var defTitle = flashTimer = false;
var d = document;
function flash() {
if ( opener.hasFocus==top) return false;
d.title = (d.title==defTitle)? "- - - - - - - - - - -" : defTitle;
flashTimer = setTimeout( "flash()", 400 );
}
window.onload = function () {
defTitle = d.title;
window.onfocus = function() {
opener.hasFocus = top;
if (flashTimer) clearTimeout(flashTimer);
d.title = defTitle;
}
}
</script>
Når et chat-vindue kaldes i fokus, vil variablen 'hasFocus' i hovedvinduet blive sat lig med en reference til det aktive chat-vindue.
Hvergang der skrives en besked ind i et chat-vindue, skal dette vindues 'flash' funktion kaldes.
Er vinduet aktivt, returneres false. Er det ikke aktivt, vil dets titel skifte mellem dets oprindelige titel og en række bindestreger - indtil det kaldes i fokus. Så sættes dets titel til den oprindelige titel og forbliver sådan.
I stedet for bindestreger kan du skrive '- - - NY BESKED - - -', eller hvad du nu vil. Det er ikke, hvad du ønsker - men nok det bedste, du kan få :)
/mvh
</bole>