12. oktober 2003 - 22:11Der er
10 kommentarer og 1 løsning
"Blød" focus()
Jeg har lidt problemer med focus() ... grunden er, at mine resultater svinger en del.
Jeg vil godt have, at hvis brugeren er væk fra siden og laver noget andet, så bliver fokus ikke hårdt og brutalt flyttet til browser-vinduet, men i stedet sker der bare en highlighting af knappen for browseren. Det gør den også nogen gange - men i de fleste tilfælde flytter den fokus helt.
Så vidt jeg har forstået burde focus() fungere på den måde fra de nyeste IE6'ere(?) - og i DOM står en GetAttention(), men den virker hverken i Mozilla eller IE6.
Nogen forslag? Jeg har ikke lyst til at genere brugeren - men vil meget gerne fortælle der sker noget.
heh =) ... bare et eksempel: en beregning i javascript der tager et par minutter - og når den er færdig blinker ikonet for browseren venligt - og man kan så vælge at kigge på det når man har lyst.
focus() gør oftest det, at den brutalt hiver en over i browseren igen og dermed afbryder hvad man er i gang med - ikke specielt hensynsfuldt.
I NS6 virker GetAttention() nu lige efter hensigten. IE6 kan man derimod ikke regne med overholder W3C's rekommendationer ... det gør den ikke på mange områder :o|
satans ... GetAttention ville jo være genial hvis den bare virkede i IE ... og det ville focus som sådan også være hvis den faktisk bare markerede (som den igen gør i nogen tilfælde ...)
Tja ... det ville være skønt, om IE overholdt W3C's rekommendationer, men det gør den desværre langt fra :o|
Til gengæld har den masse ubrugelige (og enkelte brugbare), proprietære features - og er kanon let at 'hacke'. Man kan jo ikke få det hele :D
Jeg tror, du må tænke problematikken om og lave en helt anden work-around - de fleste brugere insisterer jo stadig på at bruge dårlig browser-software :) /mvh
Jeg ved ikke helt hvad min workaround skulle være ... valget er mellem, at f.eks. nøjes med at markere der chattes med en ændring af document.title - eller flytte fokus helt med document.focus ... det er den bløde mellemting hvor det også blinker jeg forsøger at finde =)
Og, jov, jeg er først for alvor begyndt at kigge på JavaScript for et par dage siden ... og det er meget belastende hvor forskellige browserne er fra hinanden på det punkt ...
Du kunne f.eks. lave en skjult iframe på de forskellige sider og (med et vist interval) i den spørge, om der er 'noget nyt' i chatten - hvorefter der kan skrives en besked på siden. Det skal naturligvis skrives meget 'kompakt', da det kræver en del kald - og du i forvejen lader serveren slide hårdt med en script-chat :) /mvh
Jeg siger ikke, den ikke virker. Min erfaring er blot, at det er mere end sjældent, man ser en effektivt skrevet script-chat - og er den ikke meget effektivt skrevet, trækker den hurtigt serveren alvorligt ned i performance. Punkt ét i den forbindelse er, _kun_ at hente de linier, der er nødvendige (altså dem, brugeren ikke allerede har læst). Nå, men effektivitet i en script-chat er et kapitel for sig :)
Jeg er ikke sikker på, hvad det er, du ikke har forstået, men du kan ikke via JavaScript eller andre kendte teknologier give et browser-vindue, hvad du kalder 'blødt fokus'. Ikke så det skal virke virke X-browser. Derfor skrev jeg netop, at du er nødt til at finde en anden løsning, der gør brugeren opmærksom på, at der er nyt i chatten ... ellers spilder du din tid :)
Hvis du laver en løsning, der spørger serveren efter nyt, er det klart et 'issue', at du i forvejen har en script-chat kørende, da en sådan under alle omstændigheder belaster serveren hårdt. /mvh
ok ... ærgeligt de ikke følger det satans dom, men tror jeg fandt nogen mellemveje der kan gøre alle lykkelige. Chatten vil nok aldrig blive specielt belastende - så ingen grund til at lave overkill med noget super-effektivt ... nåmen - tak for hjælen alligevel =)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.