---
title: "Frameset-funktion strular"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/76416-frameset-funktion-strular"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Palle"
published: "2003-05-09T10:48:42.000Z"
updated: "2003-05-09T14:16:36.000Z"
replies: 9
views: 245
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/76416-frameset-funktion-strular"
---

# Frameset-funktion strular

## #1 — Palle, 2003-05-09T10:48Z

Hmm.. jag avskyr frames, dock måste jag använda det denna gång eftersom kunden inte vill ändra nått i grundstrukturen på sidan.
Jag får det inte att fungera så som jag vill i alla webbläsare..
\- Det fungerar bra i IE och Moz, men i Opera och Netscape kan man inte navigera vidare.

Det knepiga är att jag är i behov att skjuta ihop 2 kolumner vid ett tillfälle, detta för att få plats med en speciell sida.
Är värdena *url2* och *target2* tomma i funktionen skall *content* vara över hela *content_frameset*\-framen, är det inte tomt skall det vara som vanligt.

Mina länkar ser ut enligt följande:

```
[red]<a href="#" onclick="getUrl('main.asp','content','news.asp','s_right');"> Som vanligt.. </a>
<a href="#" onclick="getUrl('spec.asp','content','','');"> Över hela framen.. </a>
...
osv[/red]
```

Och funktionen ser ut så här: 

```
[red]function getUrl(url1,target1,url2,target2) {
	if(url1.length>0){
		parent.document.getElementById("content_frameset").cols="582,*";
		parent.document.getElementById(target1).src=url1;
	}

	if(url2.length>0){
		parent.document.getElementById("content_frameset").cols="582,*";
		parent.document.getElementById(target2).src=url2;
	} else {
		parent.document.getElementById("content_frameset").cols="763,0";
		parent.document.getElementById(target1).src=url1;
	}		

}[/red]
```

Själva framesettet ser ut enligt bifogad bild:

Någon som kan ge mig lite tips på andra sätt att lösa detta på, alt. vad som behövs ändras i den befintliga koden för att detta även skall fungera i Netscape och Opera. (kunden kräver det)

Bilagor:

- [frameset.gif](https://www.webforum.nu/a/1421.gif)

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

## #2 — Peter S, 2003-05-09T11:10Z

Sätt "name"-attributet på ramen med id *content_frameset* till det samma och testa följande:

```
<script type="text/javascript">
<!--

function getURL(){
	var a=arguments;

	switch(a.length){
	case 4:
		parent.frames["content_frameset"].cols="582,*";	
		parent.frames[a[1]].location.href=a[0];
		parent.frames[a[3]].location.href=a[2];
		break;
	case 2:
		parent.frames["content_frameset"].cols="100%";
		parent.frames[a[1]].location.href=a[0];
		break;
	}
};

//-->
</script>

...

<a href="javascript:void(getURL('main.asp','content','news.asp','s_right'))">Som vanligt...</a><br>
<a href="javascript:void(getURL('spec.asp','content'))">Över hela</a>
```

Glöm inte att ta bort mellanrummet i ordet "javascript" i länkarna  ;) 

 :)

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

## #3 — Palle, 2003-05-09T11:18Z

Wee! Framsteg! :bire 

..men..

Nu öppnas alla länkarna  i *top*, alltså där länkarna ligger, 
istället för de targets som följer med i funktionsanropet.

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

## #4 — Palle, 2003-05-09T11:24Z

Hmm.. glöm mitt senaste inlägg. :r :OO

Jag får nu felet "Ett objekt förväntas" på rad 1..
..och eftersom Rad 1 inte innehåller nått så säger inte det så mycket tyvärr.

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

## #5 — colione, 2003-05-09T11:29Z

På vilken rad?

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

## #6 — Palle, 2003-05-09T11:30Z

Redigerade nyss mitt inlägg ovan. ;)

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

## #7 — Palle, 2003-05-09T11:50Z

Ok.. nu fick jag bort det felmeddelande, hade missat att ändra funktionsnamnet. \*morr\* :r

Men.. tyvärr hjälpte det inte mycket. :(
Nu fungerar det bara i IE, i de andra webbläsarna jag testar det i är det heldött tyvärr.
Inget felmeddelande, nada..

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

## #8 — Peter S, 2003-05-09T14:04Z

Det verkar inte gå att referera "frameset"-elementen på ett tillfredsställande sätt, så du får nog modifiera "frameset"-koden vid anrop av *getURL()*\-funktionen.

 :)

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

## #9 — Palle, 2003-05-09T14:08Z

Jag har nästan fått det att fungera.. ;)
Nu är det bara Opera som inte vill ändra mitt frameset så det går över hela.

\*forstätter knyppla\*

Peter S - Du ska ha tack! :)

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

## #10 — Peter S, 2003-05-09T14:16Z

Jag har också fått det att fungera i *alla* webbläsare utom Opera. Man får fundera ett tag till  :) 

 :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/76416-frameset-funktion-strular
