Avatar billede 3rdt Nybegynder
17. januar 2012 - 18:16 Der er 17 kommentarer og
1 løsning

2 iframes...

Hej alle

Håber på at få nået hjælp til flg. spørgsmål :)

Har en index side med 2 iframes og vil gerne have at når man klikker på linket "Home" så vises 2 forskellige sider i hver deres iframe.

Altså:

Home = iframa -viser- a.htm
      iframb -viser- b.htm


Håber det giver mening og kan lade sig gøre!

Tak på forhånd :)

3rdt
Avatar billede olebole Juniormester
17. januar 2012 - 18:38 #1
<ole>

Det lyder umiddelbart, somom du er inde på en forældet og skidt løsning, men det gøres med:

<script type="text/javascript">
function foo(urlA, urlB) {
    document.frames.FRAME_NAME_A.location.href = urlA;
    document.frames.FRAME_NAME_B.location.href = urlB;
}
</script>

<a href="#" onclick="foo('a.html', 'b.html');return false">Home</a>

/mvh
</bole>
Avatar billede keysersoze Ekspert
17. januar 2012 - 18:39 #2
javascript;

onclick="document.getElementById('iframa').location.href = 'a.htm'; document.getElementById('iframb').location.href = 'b.htm';"

Men hvorfor dog i det hele taget benytte iframes - det lyder 10-15 år forældet?
Avatar billede olebole Juniormester
17. januar 2012 - 18:58 #3
@keysersoze: Nej, når du tilgår iframes med document.getElementById, får du fat i selve HTML elementet - ikke i dets window objekt. Derfor kan du ikke sætte noget på window objektets location objekt.

I stedet kan du bruge src:

onclick="document.getElementById('iframa').setAttribute('src', 'a.htm'); document.getElementById('iframb').setAttribute('src', 'b.htm');"

Faktisk er iframes så ikke spor forældet ... tværtimod! iframes blev deprcated i HTML4.01, men er atter kommet ind i varmen i HTML5, da de kan være overordentlig anvendelige i webapps. Derudover møder du kun yderst sjældent en side på WWW, som ikke indeholder en eller flere iframes  *o)

Til gengæld ligner spørgerens løsning et forsøg på at vise ganske almindeligt indhold i et helt almindeligt HTML-dokument - og det er en forældet fremgangsmåde  =)
Avatar billede keysersoze Ekspert
17. januar 2012 - 20:22 #4
ja, sorry - det er så lang tid siden jeg har brugt iframes at den slags ryger ud i glemslen :) Ville egentlig have skrevet .src i stedet for .location.href men så er det godt at nogle er lidt mere fremme (tilbage?) i skoene ;)

jeg kender godt historikken bag iframes men var måske bare ikke så specifik i hvad jeg mente var forældet i løsningen - for refererede selvfølgelig ikke til iframes som sådan men netop hvad spørger forsøgte.

Vil dog ikke helt erklære mig enig i at iframes så ofte benyttes i webapps - men hvad ved jeg ;)
Avatar billede olebole Juniormester
17. januar 2012 - 20:42 #5
"Derudover møder du kun yderst sjældent en side på WWW, som ikke indeholder en eller flere iframes" >> Den gik primært på reklamer, hvor et script indskriver en iframe. Det sker stadig meget ofte  *o)
Avatar billede keysersoze Ekspert
17. januar 2012 - 21:03 #6
ja ok - så vil jeg ikke protestere, jeg tænkte kun på egentlige webapps :)
Avatar billede olebole Juniormester
17. januar 2012 - 21:13 #7
Tilsammen tænker vi zq meget godt, Soze  *D
Avatar billede 3rdt Nybegynder
17. januar 2012 - 21:50 #8
Tak for svarene! Og ja, jeg er sgu nok lidt "old school", hvad dette script angår. Men tilbage i 2000 var det et hit! Og jeg lever på de gamle erfaringer :)

Lang tid siden jeg sidst har leget med hjemmesider, men synes tiden var til det nu, hvilket nok også er derfor jeg ikke kan få dette script til at virke, hehe: 

<script type="text/javascript">
function foo(urlA, urlB) {
    document.frames.FRAME_NAME_A.location.href = urlA;
    document.frames.FRAME_NAME_B.location.href = urlB;
}
</script>

<a href="#" onclick="foo('a.html', 'b.html');return false">Home</a>

For lige at skære det hele ud i pap:

Min ifram a's name er "main" og iframe b's er "browse".

Siden til iframe a er "home.html" og siden til iframe b er "menubrowse.html" .
Avatar billede olebole Juniormester
17. januar 2012 - 22:01 #9
<script type="text/javascript">
function foo(urlA, urlB) {
    document.frames.main.location.href = urlA;
    document.frames.browse.location.href = urlB;
}
</script>

<a href="#" onclick="foo('home.html', 'menubrowse.html');return false">Home</a>
Avatar billede 3rdt Nybegynder
17. januar 2012 - 22:13 #10
tak, det var også hvad jeg havde gjort. Men finder nu ud af at det er google chrome den er galt med, for det virker fint i explorer, hvilket nok også er derfor det er en forældet løsning?
Avatar billede 3rdt Nybegynder
17. januar 2012 - 22:32 #11
Men tak for hjælpen olebole :) Lig et svar så smider jeg nogle point over på din konto :)
Avatar billede olebole Juniormester
17. januar 2012 - 22:45 #12
Nej, det er mig, der har skrevet noget vrøvl. frames ligger ikke på document objektet, men på window  =)

<script type="text/javascript">
function foo(urlA, urlB) {
    frames.main.location.href = urlA;
    frames.browse.location.href = urlB;
}
</script>

<a href="#" onclick="foo('home.html', 'menubrowse.html');return false">Home</a>

- men faktisk kan du ligeså godt skrive:

<script type="text/javascript">
function foo(url) {
    frames.browse.location.href = url;
}
</script>

<p>
<a href="http://www.eksperten.dk/spm/955456" target="main" onclick="foo('http://www.eksperten.dk/spm/955456')">Home</a>
</p>

<iframe name="main"></iframe>
<iframe name="browse"></iframe>
Avatar billede olebole Juniormester
17. januar 2012 - 22:47 #13
Ups ... det var lige med URL'en til dette spørgsmål (min egen test)  =)

Prøver lige igen:

<script type="text/javascript">
function foo(url) {
    frames.browse.location.href = url;
}
</script>

<p>
<a href="home.html" target="main" onclick="foo('menubrowse.html')">Home</a>
</p>

<iframe name="main"></iframe>
<iframe name="browse"></iframe>
Avatar billede olebole Juniormester
17. januar 2012 - 22:49 #14
Hvad points angår, så samler jeg ikke - men tak for tilbudet. Prøv at spørge keysersoze  =)
Avatar billede 3rdt Nybegynder
18. januar 2012 - 17:17 #15
Ja, tak. Det hjalp at fjerne document. :)
Point's er hermed givet til Keysersoze.

Tak for hjælpen!
Avatar billede keysersoze Ekspert
18. januar 2012 - 18:04 #16
Da olebole nok gav det mest præcise svar burde pointene nok have tilfaldet ham - så sig gerne til og du får lidt til samlingen!
Avatar billede olebole Juniormester
18. januar 2012 - 18:18 #17
Hvis du mener min samling, så ellers tak, er den rigelig stor - og jeg skrev da også #14  *o)
Avatar billede keysersoze Ekspert
19. januar 2012 - 21:23 #18
hov - den kommentar må jeg have misset :)
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