Avatar billede dytti Novice
30. oktober 2011 - 11:48 Der er 9 kommentarer og
2 løsninger

ECHO link til iframe

På index.html har jeg denne her i en iframe: echo"<a href='../forum/index.php?topic=$id_topic'>$subject.</a>";

Hvordan får jeg resultatet af det, over i en iframe som hedder "mainframe", som ligger i index-2.html.

Jeg gætter på at det er noget med "target" men jeg kan ikke få det til at virke.
Avatar billede net-freak Nybegynder
30. oktober 2011 - 13:23 #1
Lad mig lige forstå det her ret.

Du vil gerne have den side du linker til over i dit iframe, right?
Avatar billede dytti Novice
30. oktober 2011 - 13:59 #2
Det er nok lettere hvis du ser hvad jeg mener ;-)

På denne side: http://dytti.dk/index.html er der under "Nyeste indlæg i forum" en iframe (myiframe) der indeholder ovenstående echo.

Når der klikkes på et af linkene i "myiframe" åbnes dette indlæg i en tom side.
Jeg vil gerne have det til at åbne i en iframe (mainframe) som f.eks. kunne ligge i en side som f.eks hedder indlæg.html

Hvordan dælen gør jeg det?
Avatar billede olebole Juniormester
30. oktober 2011 - 14:30 #3
<ole>


<iframe name="news_frame" src="Sidste_Nyt.php" width="245" height="350" ......

// - og dine links:

echo"<a href='../forum/index.php?topic=$id_topic' target='news_frame'>$subject.</a>";



/mvh
</bole>
Avatar billede net-freak Nybegynder
30. oktober 2011 - 14:31 #4
Javel ja.

i så fald kan du give dit iframe et navn : <iframe src="dinside.html" name="framenavn"></iframe>

og så bruger target på links således:

<a href="dinside.html" target="framenavn">Min side</a>

Håber det var svaret du ledte efter :)
Avatar billede olebole Juniormester
30. oktober 2011 - 14:36 #5
Da din kode intet har med XHTML at gøre - og da XHTML 1.0 Strict i øvrigt skal serves helt specielt - bør du ændre disse linjer:


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">


- til disse:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>


- ligesom du bør fjerne din preloader fra BODY tagget (du bruger den ikke, og den udløser en JavaScript fejl):


<body id="page1" style="background-color: #000000">

Avatar billede olebole Juniormester
30. oktober 2011 - 14:40 #6
Jeg må nok heller skrive koden, så du kan læse URL'en  =)


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>

Avatar billede dytti Novice
31. oktober 2011 - 09:43 #7
Hejsa

Måden i foreslår, virker sådan set efter hensigten. Bortset
fra at den linker til til en frame på den aktuelle side.
Den skulle gerne linke til en frame på en ekstern side (dog på samme domæne).

Et eksempel med "Anker" for at illustrer hvad jeg mener:

Følgende link henviser til et sted på den aktuelle side:
<a href="#anker1">Anker på denne side</a>

Det her link henviser til et sted på en ekstern side (på samme domæne):
<a href="side2.html#anker2">Anker på en anden side</a>

Altså klik på et link på side A, åbner noget i en iframe på side B.

Hvis nu side B f.eks. hedder: output.html
og den har en iframe der hedder: mainframe
hvordan skal den her så se ud:
echo"<a href='../forum/index.php?topic=$id_topic'>$subject.</a>";

Min første indskydelse ville være denne:
echo"<a href='../forum/index.php?topic=$id_topic' target='output.html#mainframe'>$subject.</a>";

Men det virker ikke. Resultatet åbnes i en tom side.

Jeg har snust lidt rundt, og så vidt jeg kan se, kan det jeg prøver kun lade sig gøre ved hjælp af noget javascript.

Kan det ikke lade sig gøre uden javascript, opgiver jeg det, og finder på noget andet.

(olebole - Tak for at du gjorde mig opmærksom på det andet på siden ;-)
Avatar billede net-freak Nybegynder
31. oktober 2011 - 12:27 #8
På side B kan du jo lave dit iframe som henter url parameter via get request.

<iframe src="../forum/index.php?topic=<?=$_GET['topic']?>"></iframe>

og så via dit link på side A kan du skrive som du allerede gør nu, såfremt jeg altså forstår din situation korrekt.

Hvis ikke det virker, så sig til, så kan vi gå på remote desktop, så skal jeg nok fixe det for dig hvis det er :)
Avatar billede dytti Novice
01. november 2011 - 11:36 #9
Hej igen

Jeg har lavet en testside, som gør det den skal :-)

På side_a.html, er der flg: <iframe src="linkside.html"  width="500" height="200"></iframe>
ikee noget fancy der.

på linkside.html er der denne: <a href="side_b.html?linkindhold.html" target="_top">test link</a>

linkindhold.html er bare en almindelig side med noget fyld.

side_b.html indeholder i <head> 
<script type="text/javascript">
<!--

function loadIframe(){
if (location.search.length > 0){
url = unescape(location.search.substring(1))

window.frames["myiframe"].location=url
}
}

onload=loadIframe
//-->
</script>
</head>

Og i <body>
<iframe name="myiframe" id="myiframe" src="" width="500px" height="300px"></iframe>
</body>

Det hele kan ses her: http://dytti.dk/iframetest/side_a.html

Så lige nu, ligger hele humlen i - Hvordan laver jeg denne her:
echo"<a href='../forum/index.php?topic=$id_topic'>$subject.</a>"; om, så den får samme funktion som denne her:
<a href="side_b.html?linkindhold.html" target="_top">test link</a>

Hvis jeg bare laver:
echo"<a href=side_b.html?../forum/index.php?topic=$id_topic' target ='_top'>$subject.</a>"; Så virker det ikke
Avatar billede dytti Novice
01. november 2011 - 11:48 #10
FU.. mig

Jeg har sq fået det til at virke :-)
echo"<a href=side_b.html?../forum/index.php?topic=$id_topic' target ='_top'>$subject.</a>";

Jeg manglede en '
efter: echo"<a href=

Prøv at klikke på et af linkene i "Nyeste indlæg i forum", så åbner det som det skal.
http://dytti.dk/index.html

I skal begge have tak for tålmodigheden og hjælpen.
Smider i svar, så lukker jeg dette mareridt ;-)
Avatar billede net-freak Nybegynder
01. november 2011 - 12:52 #11
Det var så lidt :)
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