/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Resize en popup
Fra : Erik Ginnerskov


Dato : 25-07-06 22:51

Hej NG

Med hjælp fra Jeppe Høiby har jeg fået fundet et script, som kan genbruge et
popup-vindue til flere forskellige links.

Der er bare den lille hage ved scriptet, at det er det først åbnede link,
som bestemmer vinduets størrelse - slev om der ved samtlige links er angivet
en størrelse.

Hvordan kan scriptet modificeres, så vinduet bliver resized, når en ny side
indlæses?

En side med vist script og demolinks kan ses her:

http://hjemmesideskolen.dk/html/vindue.asp?id=vingen

Jeg har forsøgt med denne ændring af linket:

Original - som på nettet
<a href="testsider/nyvin1.asp" target="mitVindue"
onclick="openPopup(this.href, this.target, 'width=790,height=480'); return
false;"
title="Åbn!">

Ændring - testet lokalt
<a href="testsider/nyvin1.asp" target="mitVindue"
onclick="openPopup(this.href, this.target, 'width=790,height=480', resize);
return false;"
title="Åbn!">

Ændringen medfører, at der blot åbnes et almindeligt komplet vindue.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk/



 
 
Jens Gyldenkærne Cla~ (25-07-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 25-07-06 23:51

Erik Ginnerskov skrev:

> Hvordan kan scriptet modificeres, så vinduet bliver resized,
> når en ny side indlæses?

> http://hjemmesideskolen.dk/html/vindue.asp?id=vingen

[snip]

> Ændring - testet lokalt
> <a href="testsider/nyvin1.asp" target="mitVindue"
> onclick="openPopup(this.href, this.target,
> 'width=790,height=480', resize); return false;"
> title="Åbn!">

Ovenstående vil medføre at javascriptet fejler - funktionen
openPopup tager tre argumenter, men du giver den fire herover,
derfor går det galt.

Du skal ændre funktionen openPopup så den kan håndtere ændring af
størrelsen. Det kunne fx være noget i retning af :

// NB: ALDELES UTESTET...

var objPopupWindow = null;

function getFeatures(w, h, rest) {
   return ("width=" + w + ",height=" + h + "," + r);
}

function openPopup(strUrl, strWindowName, iWidth, iHeight)
{
if(objPopupWindow==null || objPopupWindow.closed)
{
if(strFeatures==null || strFeatures.length<1)
{
objPopupWindow = window.open(strUrl, strWindowName);
}
else
{
objPopupWindow = window.open(strUrl, strWindowName,
getFeatures(iWidth, iHeight, strExtra));
}
}
else
{
   // Sæt vinduets nye størrelse
objPopupWindow.resizeTo(iWidth, iHeight);

// Sæt fokus på vinduet
   objPopupWindow.focus();
}
}
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Erik Ginnerskov (27-07-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 27-07-06 20:59

Jens Gyldenkærne Clausen wrote:

> medføre at javascriptet fejler - funktionen
> openPopup tager tre argumenter, men du giver den fire herover,
> derfor går det galt.
>
> Du skal ændre funktionen openPopup så den kan håndtere ændring af
> størrelsen. Det kunne fx være noget i retning af :
>
> // NB: ALDELES UTESTET...
>
> var objPopupWindow = null;
>
> [klip kode]

Det har jeg afprøvet, det fungerer slet ikke. Der åbnes et komplet
browservindue i samme størrelse som modervinduet.

Jeg prøvede at pille lidt i det, bl.a. synes en af variablerne at have
forskellige navne ned gennem scriptet:

<citat din kode>
function getFeatures(w, h, rest) {
return ("width=" + w + ",height=" + h + "," + r);
</citat>

I første linje står der rest som sidste parameter, i næste linje hentes
tilsyneladende en parameter r fra links.

Jeg prøvede også at pille lidt i variabeltildelingen fra links, men lige
lidt hjalp det:

<citat min kode>
onclick="openPopup(this.href, this.target, 'width=790,height=480')
</citat>

Her prøvede jeg at ændre width og height til w og h.

Jeg har desuden prøvet som et alternativ at sætte en onload på de to sider,
der skal åbnes i popup:

<body onload="window.resize(730,440)">

Det virker heller ikke - det burde vel virke uden det andet?

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk/



Kerim Ellentoft (27-07-2006)
Kommentar
Fra : Kerim Ellentoft


Dato : 27-07-06 21:10

Erik Ginnerskov skrev:

>Det har jeg afprøvet, det fungerer slet ikke. Der åbnes et komplet
>browservindue i samme størrelse som modervinduet.

I tidernes morgen lavede jeg dette:

http://home13.inet.tele.dk/smedpark/webhjaelp/popup/popup8.htm

Det meste af koderne er dybt forældet, men selve javascriptet
fejler ikke noget.

Men, der er ikke brugt target. så det kræver. at script er
aaktiveret.

Men, du kan måske få lavet det om, så det også virker med target,
har ikke prøvet.
--
Kerim
Svar under det du citerer og citer kun det du svarer på - tak.
Har du brug for et Montana reolsystem?
Kig på http://www.hjemmesider.frac.dk/

Erik Ginnerskov (27-07-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 27-07-06 23:35

Kerim Ellentoft wrote:

> I tidernes morgen lavede jeg dette:
>
> http://home13.inet.tele.dk/smedpark/webhjaelp/popup/popup8.htm

Jeg prøvede at indsætte onclick-eventen på mine links:

<a href="testsider/nyvin1.asp"
onclick="NewWindow(this.href,'link','790','480','no');return false;">

Af årsager, jeg ikke kan gennemskue, åbnes ikke noget popup. Linket åbnes i
samme vindue. Tilføjer jeg target:

<a href="testsider/nyvin2.asp" target="mitVindue"
onclick="NewWindow(this.href,'link', this.target,'730','440','no');return
false;">

.... åbnes et nyt komplet browservindue. Se eksempel 3 og 4 på

http://hjemmesideskolen.dk/html/vindue.asp?id=vingen


--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk/



Søg
Reklame
Statistik
Spørgsmål : 177553
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste