---
title: "Hitta frame"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/134864-hitta-frame"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Web-Tor"
published: "2005-09-27T09:16:30.000Z"
updated: "2005-09-27T12:12:54.000Z"
replies: 6
views: 479
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/134864-hitta-frame"
---

# Hitta frame

## #1 — Web-Tor, 2005-09-27T09:16Z

Skulle vilja ha en funktion som letar igenom alla frames på en sida efter en frame med ett visst namn och sedan returnerar den framen som ett objekt.

Det kan finnas nästlade framar på sidan.

Så här tänkte jag först men det funkar ju inte eftersom else-satsen skriver över objektet efter att man hittat rätt frame.

```
function call_getFrame(strFrame){
	return (call_getFrame_recurse(window.top,strFrame));
}
function call_getFrame_recurse(objFrame,strFrame){
	for(var i=0;i<objFrame.frames.length;i++){
		if(objFrame.frames[i].name==strFrame){
			return objFrame.frames[i];
		}else{
			call_getFrame_recurse(objFrame.frames[i],strFrame)
		}
	}
}

// *** Anrop
alert(call_getFrame("frame_content"));
```

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

## #2 — Peter S, 2005-09-27T10:05Z

```
function call_getFrame(t, s){
    for (var i = 0; i < t.frames.length; ++i){
	if (t.frames[i].name == s){
	    return t.frames[i];
	}

	if (t.frames[i].length > 0){
	    call_getFrame(t.frames[i], s);
	}
    }

    return null;
}

// Kom ihåg att kolla för null-värde i retur
var fr = null;
if (fr = call_getFrame(top, "frame_content")){
    // ok, använd fr här
}
```

Ingen större skilland mot din kod med andra ord  ;)

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

## #3 — Web-Tor, 2005-09-27T10:23Z

Jag får tillbaka *null* hur jag än gör?

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

## #4 — Peter S, 2005-09-27T10:49Z

Jag har nu skapat ett ganska komplext ramsystem och testat funktionen. Resultatet är att den hittar samtliga ramar.

Bilagor:

- [tmp.zip](https://www.webforum.nu/a/7908.zip)

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

## #5 — Web-Tor, 2005-09-27T11:23Z

Med nästlade frames menar jag alltså att jag har frames som innehåller frames. Svårt att förklara men om du testas dom här sidorna förstår du nog.

Bilagor:

- [frames.zip](https://www.webforum.nu/a/7909.zip)

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

## #6 — Peter S, 2005-09-27T11:54Z

```
function call_getFrame(t, s){
	for (var i = 0; i < t.frames.length; ++i){
		if (t.frames[i].name == s){
			return t.frames[i];
		}

		if (t.frames[i].length > 0){
			return call_getFrame(t.frames[i], s);
		}
	}
	return null;
}
```

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

## #7 — Web-Tor, 2005-09-27T12:12Z

Ahhh! Ett litet return som fattades. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/134864-hitta-frame
