---
title: "Länka till iframe på annan sida"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/133580-länka-till-iframe-på-annan-sida"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "AnnelieT"
published: "2005-09-01T10:59:10.000Z"
updated: "2005-09-01T12:49:38.000Z"
replies: 12
views: 594
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/133580-länka-till-iframe-på-annan-sida"
---

# Länka till iframe på annan sida

## #1 — AnnelieT, 2005-09-01T10:59Z

Hej!
Nya problem....Jag har sidor som jag vill att om de öppnas separat utanför min indexsidas iframe så ska det hamna rätt när det använder returnlänken. Tex om sidan [Patterns](http://hem.bredband.net/anneliesgrafiksida/photoimpact/patterns/patterneng.html) öppnas, och de klickar på länken Return to menu PhotoImpact, så ska photoimpactsidan hamna [inom denna ram](http://hem.bredband.net/anneliesgrafiksida/indexeng.html)  ("indexeng.html" "iframe2")

Jag har försökt med detta script:
<http://www.webforum.nu/showthread.php?s=&postid=564308#post564308>

Men har inte lyckas att få det att fungera, finns det någon vänlig själ här som har någon idé hur jag kan lösa detta?

Permalänk: https://www.webforum.nu/p/133580

## #2 — Peter S, 2005-09-01T11:12Z

Hej!

Du får nog använda dig av querystrings. Med hjälp av spangos [klass](http://www.webforum.nu/showthread.php?s=&threadid=37494&forumid=149):

```
<a href="[b]http://hem.bredband.net/anneliesgrafiksida/indexeng.html?page=photoimpacteng.html[/b]">Return to menu PhotoImpact</a>

...

// indexeng.html

<iframe name="iframe2"></iframe>
<script type="text/javascript">
/*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
=* Bibliotek för användning av *=*=
=*=*=*=*=* frågesträngar *=*=*=*=*=
=*=*=*=* Skrivet av spango *=*=*=*=
=*=*=* <gustaf-c@dsv.su.se> =*=*=*=
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
function QueryString(){
	this.values = {};
	this.queryString = "";
	if(arguments.length == 0)
		this.queryString = location.search?location.search:"";
	else // hade argument
		this.queryString = arguments[0];
	if(this.queryString.indexOf("?") == 0)
		this.queryString = this.queryString.substring(1);
	var pairs = this.queryString.split("&");
	for(var i in pairs){
		pairs[ i] = pairs[ i].split("=");
		for(var j in pairs[ i]) // avkoda URL
			pairs[ i][j] = unescapePlus(pairs[ i][j]);
		var key = pairs[ i][0];
		var value = pairs[ i][1];
		if(this.values[key]){ // finns redan
			if( (typeof this.values[key]) == (typeof []) ){ // fler finns redan
				this.values[key] = this.values[key].push(value); // appendera
			} /* if array */ else if( (typeof this.values[key]) == (typeof "string")){
				this.values[key] = [this.values[key], value]; // skapa ny array
			} else this.values[key] = value;
		} else { // finns inte
			this.values[key] = value;
		} // if this.values[key]
	} // for pairs
} // function QueryString

function qsGet(key){
	var alt ="";
	if(arguments.length == 2)
		alt = arguments[1];
	return this.values[key]? this.values[key] : alt;
}

function qsToString(){
	return this.queryString;
}
QueryString.prototype.get      = qsGet;
QueryString.prototype.toString = qsToString;

function unescapePlus(str){ // unescape med plustecken
	str = globalReplace(str, "+", " ");
	return unescape(str);
}

// I Opera 5 funkar inte String.replace av någon konstig
// anledning, så vi får lov att använda en egen funktion.
function globalReplace(str, what, withWhat){ 
	var tmp = "";
	while(str.length != 0)
		if(str.indexOf(what) == 0){
			tmp += withWhat;
			str = str.substring(what.length);
		} else {
			tmp += str.charAt(0);
			str = str.substring(1);
		}//else
	return tmp;
}//globalReplace

var page = new QueryString().get("page");

if (page.length > 0){
    window.frames["iframe2"].location.href = page;
}
</script>
```

Permalänk: https://www.webforum.nu/p/1664510

## #3 — AnnelieT, 2005-09-01T11:46Z

Hej igen!
Får det inte att fungera, mer än att indexsidan kommer fram, men sidan photoimpacteng.html hamnar inte i iframen. 

Har lagt upp sidorna i en testfolder:
<http://hem.bredband.net/anneliesgrafiksida/test/photoimpact/patterns/patterneng.html>
<http://hem.bredband.net/anneliesgrafiksida/test/indexeng.html>

Permalänk: https://www.webforum.nu/p/1664520

## #4 — Peter S, 2005-09-01T11:56Z

Skriptet skall ligga direkt efter \<iframe\>\-taggen:\</iframe\>\<script....

Alternativt:

```
window.onload = function(){
    var page = new QueryString();
    if (page.length > 0){
        window.frames["iframe2"].location.href = page;
    }
}
```

Permalänk: https://www.webforum.nu/p/1664524

## #5 — Peter S, 2005-09-01T12:00Z

En annan sak jag lade märke till, är att du har lagt \</head\> innanför \<script\>.

Permalänk: https://www.webforum.nu/p/1664526

## #6 — AnnelieT, 2005-09-01T12:16Z

Jo, jag upptäckte det, fort o fel. lol.

Jag får det fortfarande inte att fungera, nu ligger scriptet i inom iframe2. Klickar man på tillbaka länken, så kommer indexsidans startsida fram, men ingen photoimpactsida i iframe2.

Likaså upptäckte jag att om man går via menyn till PhotoImpact och klickar på Stained Glass Patterns och vidare på tillbakalänken, så hamnar hela indexsidan i iframet.

Fattar nada! :q

Permalänk: https://www.webforum.nu/p/1664533

## #7 — Peter S, 2005-09-01T12:19Z

:bire 

Du fick nästan till det. JavaScript-koden skall ligga efter \<**/**iframe\>. Men vi gör så här istället: vi placerar all JS-kod i en separat fil och länkar in den.

I den bifogade .zip-filen finns en .js-fil dom du lägger i samma mapp som indexeng.html, och en .html-fil (indexeng.html) som du ersätter dess namne med.

Bilagor:

- [annelie.zip](https://www.webforum.nu/a/7439.zip)

Permalänk: https://www.webforum.nu/p/1664535

## #8 — AnnelieT, 2005-09-01T12:20Z

Ursäkta, hade glömt att tömma offlineinnehållet!

Det funkar att gå från patternsidan, till photoimpact med indexsidan framme, men inte via menyn till PhotoImpact - Stained Glass Patterns och vidare på tillbakalänken, så hamnar hela indexsidan i iframet.

Permalänk: https://www.webforum.nu/p/1664536

## #9 — Peter S, 2005-09-01T12:27Z

Testa att lägga till target="\_top" i länken.

Permalänk: https://www.webforum.nu/p/1664540

## #10 — AnnelieT, 2005-09-01T12:36Z

Det fungerar!!!! :D  Tack så jättemycket för all hjälp!

Permalänk: https://www.webforum.nu/p/1664543

## #11 — Peter S, 2005-09-01T12:37Z

Kul!

Glöm inte att använda funktionen *acceptera som slutgiltigt svar* på det inlägg som löste ditt problem.

Permalänk: https://www.webforum.nu/p/1664545

## #12 — AnnelieT, 2005-09-01T12:47Z

Nä, jag bara skulle ge dig chansen till ett inlägg till. lol.

Permalänk: https://www.webforum.nu/p/1664549

## #13 — Peter S, 2005-09-01T12:49Z

Den tackar man för! Se nu till att markera det svar som *löste* ditt problem.   ;)

Permalänk: https://www.webforum.nu/p/1664550

---

Tråden på webben: https://www.webforum.nu/amne/javascript/133580-länka-till-iframe-på-annan-sida
