Avatar billede avminarm Juniormester
05. november 2005 - 08:00 Der er 2 kommentarer og
1 løsning

popup evt. som layer - virker ikke i firefox

Jeg har fundet dette dhtml popup script her på E, men det virker ikke i firefox - her "klistrer" div'en sig fast til linket i stedet for at dukke op i midten:

<script language="JavaScript">
ns4 = (document.layers) ? true : false;
ie4 = (document.all) ? true : false;
dom = (document.getElementById) ? true : false;

function show(id) {
    var obj = (ns4)? document.layers[id] : ( (ie4)? document.all[id] : document.getElementById(id) );
    var styleObj = (ns4)? obj : obj.style;
    styleObj.right = (ns4)? (window.innerWidth-obj.clip.width)/2 : (document.body.offsetWidth-obj.offsetWidth)/2;
    styleObj.top = (ns4)? (window.innerHeight-obj.clip.height)/2 : (document.body.offsetHeight-obj.offsetHeight)/2;
    styleObj.visibility = "visible";
}

function hide(id) {
    var obj = (ns4)? document.layers[id] : ( (ie4)? document.all[id] : document.getElementById(id) );
    var styleObj = (ns4)? obj : obj.style;
    styleObj.visibility = "hidden";
}

</script>

jeg "kører" det via et php script sådan her:
$div = '<a href="#" onclick="show(\''.$name.'\');"><img src="images/info.png" alt="Info" border="0"></a>'
        .'<div id="'.$name.'" style="position:absolute;visibility:hidden;">'
        .'<table border="0" cellpadding="2" cellspacing="2" width="400" style="border: 1px solid black;">'
        .'<tr><td class="popupHeader">Luk Vinduet <b>[<a href="#" onclick="hide(\''.$name.'\');">X</a>]</b></td></tr>'
        .'<tr><td class="popupTekst" align="left"><br><br /><br /><br />mklmkmkmk<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />her st&aring;r noget<br>vittigt og informativt.<br><br><a href="#" onclick="hide(\''.$name.'\');">gem den igen</a></td></tr>'
        .'</table></div>';


Egentlig ville det være ok at benytte et almindeligt popvindue - men brugeren må ikke kunne se hvor fra popup vinduet hentes. Og det kan man jo med nedenstående.

<a href="http://eksperten.dk" target="popup" onclick="window.open('','popup', 'width=300,height=320,left=200,top=200,buttons=yes,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,directories=yes,toolbar=yes' )">Gå til Eksperten</a>

Er der nogen der har en løsning på problemet: altså en form for popup der viser sig i midten af skærmen - uden t man kan se hvorfra popupen er hentet?
Avatar billede olebole Juniormester
05. november 2005 - 10:10 #1
<ole>

Det er jo ekstremt vigtigt, brugeren ved, hvorfra siderne kommer, hvorfor browserleverandørerne gør deres bedste for at undgå, kodere kan skjule dette.
Hvorfor må brugern dog ikke vide, hvorfra siden stammer?

/mvh
</bole>
Avatar billede avminarm Juniormester
05. november 2005 - 13:21 #2
øhhh - det havde jeg ikke lige tænkt på :-) - kan godt se din pointe!

Nå - ok, nu har jeg altså "forelsket" mig lidt i den der layer løsning - men er ikke så skarp til hverken DHTML/Javascript. Kan det fikses så det virker i firefox?

Det vigtige for mig er at jeg kan positionere hvor popupen kommer frem - om den ikke lige kommer i midten er ikke så vigtigt - hellere at den lægger sig i toppen.

Kan det mon fikses?
Avatar billede avminarm Juniormester
19. november 2005 - 20:57 #3
skidt pyt - jeg bruger bare en alm popup
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester