Avatar billede pelskee Nybegynder
09. oktober 2005 - 12:18 Der er 28 kommentarer og
1 løsning

Popup uden ramme

kan man ikke lave et popup vindue uden alt det der browser gøgl så den bare står helt clean.

ps. i mit popup vil jeg lave en form. hvis det har nogen betydning. kan man evt ligge det indhold der skal være i popup'en i en ekstern fil (iframe)
Avatar billede apo Praktikant
09. oktober 2005 - 15:40 #1
Efter ServicePack 2 til Windows er kommet, er det ikke længere muligt at fjerne 'cromen' på vinduer. Cromen er statuslinjen og titellinjen.
Avatar billede roenving Novice
09. oktober 2005 - 15:48 #2
-- men du kan have en skjult div, som du så viser frem, når du ellers ville have brugt en popup !-)
Avatar billede apo Praktikant
09. oktober 2005 - 16:25 #3
Ja, den var jeg ved at foreslå, men jeg ved ikke hvordan man laver det - Der skal vist bruges noget javascript?
Avatar billede olebole Juniormester
09. oktober 2005 - 17:36 #4
<ole>

I princippet:

<script type="text/JavaScript">
function showPop() {
    var pop = document.getElementById("gnu");
    pop.style.left = "400px";
    pop.style.top = "400px";
    pop.style.display = "block";
}
</script>

<div id="gnu" style="position:absolute;width:400px;height:200px;border:3px outset threedhighlight;z-index:1000;display:none">
    <iframe style="width:100%;height:100%;border:2px inset threedhighlight;" src="gnu.html" frameborder="0"></iframe>
</div>

<button onclick="showPop()">TEST</button>

/mvh
</bole>
Avatar billede apo Praktikant
09. oktober 2005 - 17:46 #5
Og hvordan lukker man den så?
Avatar billede roenving Novice
09. oktober 2005 - 17:48 #6
F.eks. ved at sætte en onclick, der skjuler den: onclick="this.style.display='none';" !-)
Avatar billede apo Praktikant
09. oktober 2005 - 17:52 #7
Sådan her?

<div id="gnu" style="position:absolute;width:400px;height:200px;border:3px outset threedhighlight;z-index:1000;display:none">
    <iframe style="width:100%;height:100%;border:2px inset threedhighlight;" src="gnu.html" frameborder="0"><button onclick="this.style.display='none';">Luk</button></iframe>
</div>
Avatar billede olebole Juniormester
09. oktober 2005 - 17:52 #8
- f.eks. med en funktion à la:

function hidePop() {
    var pop = document.getElementById("gnu");
    pop.style.display = "none";
}
Avatar billede olebole Juniormester
09. oktober 2005 - 17:53 #9
Hvorfra vil du kunne lukke?
Avatar billede apo Praktikant
09. oktober 2005 - 17:54 #10
fra denne: <button onclick="this.style.display='none';">Luk</button>

?
Avatar billede olebole Juniormester
09. oktober 2005 - 17:56 #11
- det kan du ikke. Den kode ligger på Eksperten  ;o)

Hvor skal din knap ligge? I iframe'en, eller det dokument, der indeholder iframe'en  :)
Avatar billede apo Praktikant
09. oktober 2005 - 17:59 #12
Det må vel så være dokumentet, der indeholder iframen. Men så er det vel bedre at have funktione liggende et andet sted, som du viste...

<script type="text/JavaScript">
function showPop() {
    var pop = document.getElementById("gnu");
    pop.style.left = "400px";
    pop.style.top = "400px";
    pop.style.display = "block";
}
function hidePop() {
    var pop = document.getElementById("gnu");
    pop.style.display = "none";
}
</script>

<div id="gnu" style="position:absolute;width:400px;height:200px;border:3px outset threedhighlight;z-index:1000;display:none">
    <iframe style="width:100%;height:100%;border:2px inset threedhighlight;" src="gnu.html" frameborder="0"><button onclick="hidePop()"></button></iframe>
</div>

<button onclick="showPop()">TEST</button>

Sådan her?
Avatar billede apo Praktikant
09. oktober 2005 - 18:01 #13
Eller må kanppen slet ikke ligge i iframen?
Avatar billede olebole Juniormester
09. oktober 2005 - 18:04 #14
Jo, men så skal den også ligge i iframe'en ... altså i dokumentet, der loades i iframe'en  :)
I så fald skal du kalde funktionen oppe i hoveddokumentet med: parent.hidePop()
Avatar billede roenving Novice
09. oktober 2005 - 18:04 #15
Det der er mellem iframens åbne- og lukketag vises hvis browseren ikke kan håndtere iframes ...

-- så det skal i så fald ind i det dokument, der vises i iframen, og så bliver det:

<button onclick="parent.hidePop()">
Avatar billede apo Praktikant
09. oktober 2005 - 18:12 #16
Ah, ja selvfølgelig. Indholdet af iframen hentes jo fra gnu.html :-)

Men man kan vel placere knappen uden for iframen (i selve div'en), og derved undgå at skulle lægge koden for knappen i hvert enkelt dokument, som iframen indeholder (Hvis man nu indbygger muligheden for at få vist forskelligt indhold? F.eks. hvis man vil bruge en pop-up'en som fejlmeddelelse, i stedet for alerts):

<div id="gnu" style="position:absolute;width:400px;height:200px;border:3px outset threedhighlight;z-index:1000;display:none">
    <iframe style="width:100%;height:100%;border:2px inset threedhighlight;" src="gnu.html" frameborder="0"></iframe>
<button onclick="hidePop()"></button>
</div>

Sådan her?
Avatar billede roenving Novice
09. oktober 2005 - 18:14 #17
Tjah, bortset fra at knappen vel skal have noget at vise:

<button onclick="hidePop();return false;">Gem popup</button>
Avatar billede apo Praktikant
09. oktober 2005 - 18:16 #18
Ja, der skal selvfølgelig være en tekst på knappen... Hvad gør return false; i ovenstående?
Avatar billede roenving Novice
09. oktober 2005 - 18:25 #19
Visse browsere vil submitte ved tryk på en knap, så det er bare en almindelig forsigtighedsforanstaltning at have den med, da jeg jo ikke ved om det tilfældigvis kommer til at ligge i en form !-)
Avatar billede apo Praktikant
09. oktober 2005 - 18:29 #20
Okay, så ved jeg det.

Det vil sige at det skal se således ud:

<script type="text/JavaScript">
function showPop() {
    var pop = document.getElementById("gnu");
    pop.style.left = "400px";
    pop.style.top = "400px";
    pop.style.display = "block";
}
function hidePop() {
    var pop = document.getElementById("gnu");
    pop.style.display = "none";
}
</script>

<div id="gnu" style="position:absolute;width:400px;height:200px;border:3px outset threedhighlight;z-index:1000;display:none">
    <iframe style="width:100%;height:100%;border:2px inset threedhighlight;" src="gnu.html" frameborder="0"></iframe>
<button onclick="hidePop();return false;">Skjul</button>
</div>

<button onclick="showPop()">Vis</button>

?

Hehe, det burde næsten være mig der skal give points, eftersom jeg har stillet spørgsmålene, selv om det ikke er mit spørgsmål ;-)
Avatar billede apo Praktikant
09. oktober 2005 - 18:33 #21
... Og <button onclick="showPop();return false;">Vis</button>, hvis knappen ligger i en form?
Avatar billede olebole Juniormester
09. oktober 2005 - 18:36 #22
nåja ... du/vi får vel uddybet spm'et lidt for spørgeren i samme hug  ;o)
Avatar billede apo Praktikant
09. oktober 2005 - 18:38 #23
Det var det, jeg tænkte ;-)
Avatar billede apo Praktikant
09. oktober 2005 - 18:44 #24
... Og det gør vel ikke noget at andre også kan lære af indlæggene i et spørgsmål (Jeg har i hvert fald lært lidt mere om javascript i dag :-) )
Avatar billede apo Praktikant
14. oktober 2005 - 16:44 #25
pelskee > Husk at lukke spørgsmålet :-)
Avatar billede pelskee Nybegynder
23. januar 2006 - 09:36 #26
det må i virkelig undskylde. kan jeg dele point mellem jer ?
Avatar billede olebole Juniormester
23. januar 2006 - 22:42 #27
Du beder blot de, du vil tildele points, om at lægge et svar. Derefter har du mulighed for at dele pointene mellem dem  :)
Avatar billede pelskee Nybegynder
24. januar 2006 - 09:29 #28
jamen så vil jeg primært gerne have et svar fra dig - olebole
tak!
Avatar billede olebole Juniormester
24. januar 2006 - 09:32 #29
- selvtak  :)
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