Kom ihåg mig?
Home Menu

Menu


Länka till sida i iframe på sidan

 
Ämnesverktyg Visningsalternativ
Oläst 2010-05-09, 11:59 #1
BarateaUs avatar
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2007
Inlägg: 2 648
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
BarateaUs avatar
 
Reg.datum: Nov 2007
Inlägg: 2 648
Standard Länka till sida i iframe på sidan

Har en sida.

Och på sidan har jag en sida som är en iframe sida.
Dvs jag presenterar en butik i en del av sidan via iframe.

Och jag vill kunna länka till produkter i butiken från andra delar av sidan till iframe sidan.
Så man inte "bara" kan komma åt framsidan av butiken utan även kunna länka till spec produkter i butiken.

Hur åstakommer jag att jag kan länka till sida i en iframe?

Vi säger att domänen är:
babababa.se

butiken med iframen ligger:
babababa.se/butik.html -> som i sin tur har en iframe till butiken på annan adress.

Om jag nu vill länka till en produkt och att de skall presenteras i babababa.se/butik.html

Sökt och de kanske funkar att göra med javascript.

Hittade detta, testade att använda koden men fick de inte att lira, ser ni nått fel? Eller har andra förslag?
Citat:
Can't be done with HTML alone, but here's a JavaScript solution.

Use a delimiter in your link such as a question mark. Don't worry, the browser will load the URL correctly even with the delimiter. Like so:

Code:
<a href="page_with_iframe.htm?page_to_load_into_iFram e.htm">


On your page with the iFrame, use a JavaScript to parse the part of the URL after the delimiter like this:

Code:
<script type="text/javascript" language="javascript">
function loadIF() {
iFrameSrc=location.href.split('?');
if ( iFrameSrc[1] != null ) {
document.getElementById('iFrameName').src=iFrameSr c[1];
}
else {
document.getElementById('iFrameName').src='default _page.htm'
}
}
</script>


In this example, you want the script in the head of the document, and your function call in the opening <body> tag:

Code:
<body onload="loadIF()">


You can run the script without the function wrapper and <body onload="loadIF()"> function call as long as the script appears after the iFrame code -- the iFrame must be created on the page before the script can find it.
BarateaU är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-09, 12:04 #2
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Är användandet av iframes geomtänkt? Du är medveten om att det inte är det bästa sättet att bygga sin sajt på va?
fabian är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-09, 13:43 #3
BarateaUs avatar
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2007
Inlägg: 2 648
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
BarateaUs avatar
 
Reg.datum: Nov 2007
Inlägg: 2 648
Citat:
Ursprungligen postat av fabian Visa inlägg
Är användandet av iframes geomtänkt? Du är medveten om att det inte är det bästa sättet att bygga sin sajt på va?


Yes, de är ok.
Medveten om att de inte är de bästa, men man tager de man haver.
BarateaU är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-09, 14:58 #4
kw_wasabis avatar
kw_wasabi kw_wasabi är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2008
Inlägg: 2 134
kw_wasabi kw_wasabi är inte uppkopplad
Klarade millennium-buggen
kw_wasabis avatar
 
Reg.datum: Feb 2008
Inlägg: 2 134
Om jag fattat det rätt så vill du kunna länka till en specifik sida i din iframe. Testa då att ge din i frame ett name-attribut som i koden nedan:

<iframe src="http://www.babababa.se/butik.html" width="900" height="500" name="butiken"></iframe>

Därefter kan du länka till valfri sida inom iframen och använda target-attribut:

<a href="http://www.babababa.se/produkter.html" target="butiken">Produkter</a>
kw_wasabi är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-10, 12:10 #5
BarateaUs avatar
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2007
Inlägg: 2 648
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
BarateaUs avatar
 
Reg.datum: Nov 2007
Inlägg: 2 648
Citat:
Ursprungligen postat av kw_wasabi Visa inlägg
Om jag fattat det rätt så vill du kunna länka till en specifik sida i din iframe. Testa då att ge din i frame ett name-attribut som i koden nedan:

<iframe src="http://www.babababa.se/butik.html" width="900" height="500" name="butiken"></iframe>

Därefter kan du länka till valfri sida inom iframen och använda target-attribut:

<a href="http://www.babababa.se/produkter.html" target="butiken">Produkter</a>
Mja de funkade så länge de var på samma sida som länkningen skedde ifrån.

Men om jag vill länka från t.ex. index sidan till den andra sidan blir de knepigare då den inte känner till "name=butik" då den koden enbart står på den andar sidan som har iframen, hur löser jag detta.

Går de att säga typ "target="site.html/butiken" ? så den fattar att den skall gå till sidan med iframen först och sedan vart targeten är = butiken", eller så snurrar jag bara till det mer.

Senast redigerad av BarateaU den 2010-05-10 klockan 13:04
BarateaU är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-10, 16:45 #6
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Om iframe-src:en ligger på en annan domän går det ej pga säkerhetsspärrar som finns i de flesta webbläsare.
SimonP är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-10, 17:37 #7
BarateaUs avatar
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2007
Inlägg: 2 648
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
BarateaUs avatar
 
Reg.datum: Nov 2007
Inlägg: 2 648
De lät ju inge vidare.
Men någon som ser något fel i koden i topicen som skall kunna vara någon lösning fast med javascript?

Kod:
<a href="page_with_iframe.htm?page_to_load_into_iFram e.htm">
Kod:
<script type="text/javascript" language="javascript"> 
function loadIF() { 
iFrameSrc=location.href.split('?'); 
if ( iFrameSrc[1] != null ) { 
document.getElementById('iFrameName').src=iFrameSr c[1]; 
} 
else { 
document.getElementById('iFrameName').src='default _page.htm' 
} 
} 
</script>
Kod:
<body onload="loadIF()">
PS! ifall någon inte förstår vad jag medar så har jag inge problem att skicka sidans adress, bara att jag inte vill skriva ut den live när den pillas med.
Nothing fancy mate.

Senast redigerad av BarateaU den 2010-05-10 klockan 17:39
BarateaU är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-10, 17:54 #8
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Citat:
Ursprungligen postat av BarateaU Visa inlägg
De lät ju inge vidare.
Kanske missuppfattade dig, men det som funkar är att Startsidan kan byta url i framen, men om de ligger på olika domäner kan de aldrig "kommunicera" med varandra via javascript.

Så här borde fungera:
Kod:
<a href="javascript:void(0);" onclick="loadIF('page_to_load_into_iFrame.htm');">
Kod:
<script type="text/javascript" language="javascript"> 
function loadIF(url)
{ 
 document.getElementById('iFrameName').src="http://www.doman.se/"+url; 
} 
</script>
Kod:
<body onload="loadIF('default.htm');">

Senast redigerad av SimonP den 2010-05-10 klockan 17:57
SimonP är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-10, 18:08 #9
BarateaUs avatar
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2007
Inlägg: 2 648
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
BarateaUs avatar
 
Reg.datum: Nov 2007
Inlägg: 2 648
Citat:
Ursprungligen postat av SimonP Visa inlägg
Kanske missuppfattade dig, men det som funkar är att Startsidan kan byta url i framen, men om de ligger på olika domäner kan de aldrig "kommunicera" med varandra via javascript.

Så här borde fungera:
Kod:
<a href="javascript:void(0);" onclick="loadIF('page_to_load_into_iFrame.htm');">
Kod:
<script type="text/javascript" language="javascript"> 
function loadIF(url)
{ 
 document.getElementById('iFrameName').src="http://www.doman.se/"+url; 
} 
</script>
Kod:
<body onload="loadIF('default.htm');">
Förstår inte riktigt.

Index.html
Shoppen.html "shoppen visas via iframe".

Användaren kan kolla i shoppen och browsa runt bäst den vill.
Men låt oss säga att jag vill länka till ett specifikt erbjudande i i shoppen så blir de alltså att jag måste länka först till shoppen.html och sedan berätta för shoppen.html att öppna adressen för produkten i iframen.

Så om jag vill exponera tandborsten i shoppen via index "framsidan" så måste jag lösa hur jag kan "djuplänka" in i iframen på shoppen.html
I teorin skulle jag ju kunna lägga upp shoppen1.index och sedan länka iframen hårt till produkten men är inte ett option anser jag, iframe är så bökigt alla redan
BarateaU är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-10, 18:25 #10
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Ok, då förstår jag, den sista koden du postade fungerar utmärkt då, ser inget fel i den.

Edit: iofs, kanske ska byta location.href till document.location.href
SimonP är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:30.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017