|
| window.focus virker ikke i mozilla Fra : Atte André Jensen |
Dato : 21-03-05 13:08 |
|
Hejsa
Jeg har en javascript funktion:
function popop(url,window_name,width,height){
new_window =
window.open(url,window_name,'width='+width+',height='+height+',scrollbars=1');
new_window.focus();
}
Den virker efter hensigten i explorer 6.0, men i mozilla åbnes vinduet
fint, men derefter kommer det ikke i fokus (altså kommer til at ligge
øverst) hvis funktionen kaldes med vinduet allerede åbent.
Er der en kløgtig sjæl som kan forklare hvad jeg gør forkert og hvad jeg
skal gøre i stedet for?
--
peace, love & harmony
Atte
http://www.atte.dk - remove the underscores to reply
| |
Martin Hintzmann And~ (21-03-2005)
| Kommentar Fra : Martin Hintzmann And~ |
Dato : 21-03-05 13:26 |
|
Atte André Jensen wrote:
>
> Jeg har en javascript funktion:
>
[snip kode med lokal variabel]
>
> Den virker efter hensigten i explorer 6.0, men i mozilla åbnes vinduet
> fint, men derefter kommer det ikke i fokus (altså kommer til at ligge
> øverst) hvis funktionen kaldes med vinduet allerede åbent.
>
> Er der en kløgtig sjæl som kan forklare hvad jeg gør forkert og hvad jeg
> skal gøre i stedet for?
>
Jeg er ikke sikker, men jeg tror at "new_window" skal være en global
variabel.
--
Martin Hintzmann Andersen
http://www.hintzmann.dk/
| |
Atte André Jensen (21-03-2005)
| Kommentar Fra : Atte André Jensen |
Dato : 21-03-05 14:33 |
|
Martin Hintzmann Andersen wrote:
> Jeg er ikke sikker, men jeg tror at "new_window" skal være en global
> variabel.
Det ændrer desværre ikke noget. Tilgengæld er jeg kommet op med et hack
som burde virke:
<script language="JavaScript">
var new_window;
function popop(url,window_name,width,height){
new_window =
window.open(url,window_name,'width='+width+',height='+height+',scrollbars=1');
var width = new_window.outerWidth;
var height = new_window.outerHeight;
var x = new_window.left;
var y = new_window.top;
alert(x);
alert(y);
x = 100;
y = 100;
if(height && width && x && y){
new_window.close();
new_window =
window.open(url,window_name,'width='+width+',height='+height+',left='+x+',top='+y+',scrollbars=1');
new_window.focus();
}
}
</script>
Idéen er at man først prøver at åbne vinduet. Derefter henter man dets
størrelse og placering, lukker det og åbner det igen med disse værdier.
Da den første åbning ikke vil flytte eller resize vinduet virker det
både hvis og hvis ikke der var et vindue i forvejen.
Mit problem er nu at jeg ikke ved hvordan man får fat i et vindues
placering. Det er lige nu kun relevant for mozilla, da if'en gør at
hacket ikke køres under explorer (da new_window.outerWidth er undefined).
Så hvordan finder jeg et vindues position på skærmen?
--
peace, love & harmony
Atte
http://www.atte.dk - remove the underscores to reply
| |
Atte André Jensen (21-03-2005)
| Kommentar Fra : Atte André Jensen |
Dato : 21-03-05 15:12 |
|
Atte André Jensen wrote:
> Så hvordan finder jeg et vindues position på skærmen?
Fandt ud af at det ligger i screenX og screenY:
<script language="JavaScript">
var new_window;
function popop(url,window_name,width,height){
new_window =
window.open(url,window_name,'width='+width+',height='+height+',scrollbars=1');
new_window.focus();
var width = new_window.outerWidth;
var height = new_window.outerHeight;
var x = new_window.screenX;
var y = new_window.screenY;
if(height && width && x && y){
new_window.close();
new_window =
window.open(url,window_name,'width='+width+',height='+height+',left='+x+',top='+y+',scrollbars=1');
new_window.focus();
}
}
</script>
--
peace, love & harmony
Atte
http://www.atte.dk - remove the underscores to reply
| |
Erik Ginnerskov (22-03-2005)
| Kommentar Fra : Erik Ginnerskov |
Dato : 22-03-05 00:57 |
|
Atte André Jensen wrote:
> new_window.focus();
> }
>
> Den virker efter hensigten i explorer 6.0, men i mozilla åbnes vinduet
> fint, men derefter kommer det ikke i fokus
Det er måske værd at notere sig, at man i Mozilla og Firefox kan indstille
browseren til at ignorere et sådant forsøg på at tiltvinge focus på et
bestemt vindue.
Alle dine anstrengelser kan være spildt arbejde.
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://frip.dk/ginnerskov
| |
Johnny Winther Ronne~ (23-03-2005)
| Kommentar Fra : Johnny Winther Ronne~ |
Dato : 23-03-05 21:57 |
|
"Erik Ginnerskov" <erik@donotspammmeplease.invalid> skrev i en meddelelse
news:423f5f3d$0$250$14726298@news.sunsite.dk...
> Atte André Jensen wrote:
>
> > new_window.focus();
> > }
> >
> > Den virker efter hensigten i explorer 6.0, men i mozilla åbnes vinduet
> > fint, men derefter kommer det ikke i fokus
>
> Det er måske værd at notere sig, at man i Mozilla og Firefox kan indstille
> browseren til at ignorere et sådant forsøg på at tiltvinge focus på et
> bestemt vindue.
>
> Alle dine anstrengelser kan være spildt arbejde.
>
Niks han lærte noget nyt, at "minoritets browsere" har en anden opfattelse
af verden, er der ikke så meget at gøre ved. Jeg ved det, de overholder
standarden, men det gør dem ikke bedre end verdens største browser. MS
sidder på hovedparten af brugerne og hverken Opera eller firefox vil komme i
nærheden af dem, Da Netscape var på sit højeste var den opppe og kysse 20%
og hovedparten af brugerne kom fra Linux.
Jo jeg syntes også at MS skulle lette røven og overholde standarder
konsekvent og uden dikedarer.
Og jeg kan virkelig godt se det smarte i at åbne et link i et nyt vindue som
brugeren kun kan se i menulinien. Gud ved hvor mange gange brugeren klikker
på et link, der ikke åbnes, før vedkommende opdager at han har tyve åbne
vinduer. Virkelig smart facitilitet. Når jeg klikker på et link, forventer
jeg at se et resultat om det er et nyt vinddue eller ej interesserer mig
ikke. Jeg vil se resultatet.
Med venlig hilsen
Johnny Winther Ronnenbeerg
| |
Erik Ginnerskov (23-03-2005)
| Kommentar Fra : Erik Ginnerskov |
Dato : 23-03-05 23:15 |
|
Johnny Winther Ronnenberg wrote:
> MS sidder på hovedparten af brugerne
Det gør MS IE ikke fordi det er en fremragende browser. Det er udelukkende
fordi IE er præinstalleret, når man køber en computer - hvis man ikke
specifikt beder om et andet styresystem. Og mange brugere aner ikke, at der
findes (bedre) alternativer.
> Jo jeg syntes også at MS skulle lette røven og overholde standarder
> konsekvent og uden dikedarer.
Den dag det sker, får de alternative browsere problemer, for hvem vil hente
en anden browser, hvis den installerede er perfekt (overholder standarderne
og spærrer for alle de irriterende rekvalmevinduer - det sidste kan godt nok
nu opnås med XP SP2, men har man et andet OS end WinXP, nytter det ikke).
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://frip.dk/ginnerskov
| |
Lasse Reichstein Nie~ (24-03-2005)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 24-03-05 04:52 |
|
"Erik Ginnerskov" <erik@donotspammmeplease.invalid> writes:
> Den dag det sker, får de alternative browsere problemer, for hvem vil hente
> en anden browser, hvis den installerede er perfekt (overholder standarderne
> og spærrer for alle de irriterende rekvalmevinduer - det sidste kan godt nok
> nu opnås med XP SP2, men har man et andet OS end WinXP, nytter det ikke).
Selvom standarder er godt, så må det primære krav til en webbrowsers
renderingsmotor være at den kan vise de sider der findes. Det lever IE
op til, også selvom det kun er fordi folk skriver deres sider til dens
fejl. Hvis standarder og popup-blokkere var det eneste IE manglede, så
ville jeg være nervøs for alternative browsere allerede.
Jeg bruger også Opera på grund af alle de smarte features - mouse
gestures, MDI, sessioner der overlever quit, og alle de små ting som
gør livet lettere. FireFox har mange af de samme ting som udvidelser.
Der er langt for IE at gå, hvis den skal have et interface der er
på højde med de to.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
|
|