Avatar billede neffer Nybegynder
17. marts 2005 - 11:23 Der er 12 kommentarer og
1 løsning

iframe skal kunne udviddes efter behov - hvordan?

Hejsa

Jeg er ved at oprette en side, hvor jeg blandt andet skal skal have et forum. Der har jeg valgt phpBB. Designet er opbygget af tabeller
Nu er problemet så at jeg ønsker at phpBB skal ligge i en iframe midt på siden, så det er intigreret i designet. Spørgsmålet er nu, hvordan iframe'en skal sættes op, så hvis phpBB har brug for mere højde/brede så skal iframe bare udvidde sig efter behov. Indtilviddere er resultatet blevet scrollbars, hvilket jeg kun ønsker, på hele siden.
Er der en speciel opsætning til iframe? Skal der pilles ved phpBB? - eller skal det en hel anden løsning der skal til?
Avatar billede neffer Nybegynder
17. marts 2005 - 11:32 #1
Jeg oprettede et ligende spørgsmål for et halvt års tid siden, som ikke blev besvaret tilfredsstillende, og i stedet blev en lappeløsning foretaget. Hvis nogen kan hjælpe er der point at hente fra begge spørgsmål.

http://www.eksperten.dk/spm/544799
Avatar billede roenving Novice
17. marts 2005 - 17:14 #2
Hvis du giver iframe-tagget et id og lægger dette script ind i phpBB-siden:

<script language="javascript" type="text/javascript">
window.onload = function(){
var t=document.body.scrollHeight;
if(parent!=window)parent.document.getElementById('IFRAMEID').style.height=t+4+'px';
}
</script>

-- den kan selvfølgelig også vendes om, men kræver under alle omstændigheder, at alt kommer fra samme domæne !-)
Avatar billede neffer Nybegynder
18. marts 2005 - 16:52 #3
Se nu er vi inde på noget konstruktivt :)

Men i hvilken phpBB-gil skal jeg indsætte ovenstående script? Og skal der tilføjes noget på html-"modersiden"?
Avatar billede roenving Novice
19. marts 2005 - 06:00 #4
På modersiden skal iframe-tagget have et name:

<iframe name="IFRAMEID" ...

-- og scriptet skal indsættes i den fil, som står som src på det tag !-)
Avatar billede neffer Nybegynder
19. marts 2005 - 17:55 #5
Jeg er ret dum til programering, så hvis jeg får det skåeret ud i pap, så er jeg dybt taknemmlig :)

Modersiden så således ud før ændring:
<iframe src="http://www.0102.nou.dk/phpBB2/index.php?c=1" frameborder="0"></iframe>
Og efter ændring:
<iframe name="IFRAMEID" src="http://www.0102.nou.dk/phpBB2/index.php?c=1" frameborder="0"></iframe>
Er det korrekt?

Jeg fik ikke fat i hvilken specifik fil, scriptet skal sættes ind i? Er det /phpBB/index.php? I givet fald, hvor kan det sættes ind, uden at ødelægge filen?

Indtil viddere har jeg fået følgende resultat: http://www.0102.nou.dk/z/skabelon_php2.htm - Dermed sagt, at scriptet ikke har haft nogen virkning. - Kan du se hvad fejlen er?
Avatar billede neffer Nybegynder
19. marts 2005 - 18:17 #6
Rettelse: - Scriptet har haft virkning, men:
1) Der kommer fejlmeddelelser på siden.
2) iframen bliver ikke trukket ud, i alle rum på phpBB-forummet.
3) iframen blier heller ikke trukket helt ud i længden og slet ikke i bredden.
Avatar billede roenving Novice
19. marts 2005 - 18:40 #7
Hov, det skulle have været id= ...

Scriptet skal, som det er lavet her lægges ind, så det kommer i samtlige sider, som kan komme der, altså i en slags master-side ...

-- men det kan også vendes om, så det aktiveres fra modersiden ...

-- og skal det dække både højde og bredde, skal det se sådan ud:

<script type="text/javascript">
window.onload = function(){
  var t=document.body.scrollHeight;
  var l=document.body.scrollWidth;
  if(parent!=window){
    parent.document.getElementById('IFRAMEID').style.height=t+4+'px';
    parent.document.getElementById('IFRAMEID').style.width=l+4+'px';
  }
}
</script>

-- og det skulle være id'et:

<iframe id="IFRAMEID" src="http://www.0102.nou.dk/phpBB2/index.php?c=1" frameborder="0"></iframe>
Avatar billede neffer Nybegynder
19. marts 2005 - 19:02 #8
Kan ikke forstå det der med at "vendet det om". Men det lyder som den bedste løsning, at det aktiveres fra modersiden. - Så skal der ikke rettes i phpBB-filerne?
Avatar billede roenving Novice
19. marts 2005 - 19:16 #9
Grunden til at jeg ikke bare har gjort det, er, at iframen jo skal være færdigloadet før man kan få fat i dens indhold, så det vil umiddelbart være lettere bare at sætte det script ind i en eller anden form for 'masterpage' ...

-- alternativerne (da jeg regner med, at siderne i iframen netop kan udskiftes !-) er enten, at sætte en simplere funktion i iframen, eller at lave en try/catch konstruktion i et script, som så kaldes f.eks. 100 gange pr. sekund indtil siden er færdigloadet (men det vil jo netop forsinke lodingen !-)
Avatar billede neffer Nybegynder
20. marts 2005 - 09:44 #10
Okay,vi holder os til plan 1 :)

Det virker nemlig, idet phpBB-siden udvidder iframen efter behov. Men hvor indsætter jeg scriptet i phpBB-filerne, så de ikke bliver ødelagt? - Som det kan ses, kommer der stadig fejlmeddelser.
http://www.0102.nou.dk/z/skabelon_php2.htm
Avatar billede neffer Nybegynder
20. marts 2005 - 09:44 #11
Men roenving - du skal i hvertfald have tak indtil nu. Hvis du ikke er så meget inde i phpBB, så smid et svar her og på http://www.eksperten.dk/spm/544799 - Jeg er ret sikker på at folk fra phpbb2.dk kan guide mig det sidste stykke. (eller er det i modstrid med ekspertens regler at fortsætte andre steder?) Anyways, du har fortjent pointsne. ;)
Avatar billede roenving Novice
20. marts 2005 - 11:34 #12
Velbekomme '-)
Avatar billede roenving Novice
20. marts 2005 - 15:55 #13
Tak for point ;~}
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