---
title: "Fungerar inte createElement i Firefox?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/161342-fungerar-inte-createelement-i-firefox"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "saturday"
published: "2007-06-11T06:22:58.000Z"
updated: "2007-06-11T09:47:49.000Z"
replies: 13
views: 642
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/161342-fungerar-inte-createelement-i-firefox"
---

# Fungerar inte createElement i Firefox?

## #1 — saturday, 2007-06-11T06:22Z

Jag använder detta script för att fånga upp besökarna till en sida. Det fungerar kalas, så länge de kör IE. Använder de Firefox körs inte detta script... Har någon en vettig lösning på det? Kan inte komma på hur jag ska lösa det. Jag vill gärna inte att vissa besökare trillar i genom.

```
<script language="JavaScript">
//GET STATS
function Stats() {
	var col = screen.colorDepth;
	var res = screen.width + "x" + screen.height;

	var report=document.createElement('script');
	report.type='text/javascript';
	report.id="reportStats";
	report.src='getStats.asp?res='+res+'&col='+col+'';
}

Stats();
</script>
```

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

## #2 — colione, 2007-06-11T06:44Z

Du insertar aldrig ditt skapade element på sidan. Kolla specifikation:

<http://developer.mozilla.org/en/docs/DOM:document.createElement>

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

## #3 — saturday, 2007-06-11T06:53Z

> **colione skrev:**
>
> Du insertar aldrig ditt skapade element på sidan. Kolla specifikation:
> 
> <http://developer.mozilla.org/en/docs/DOM:document.createElement>

Rätt rörig sida, hittade nog inte det jag behövde hitta. Jag hittade bara någon insertBefore vilken jag inte såg logiken i riktigt...

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

## #4 — colione, 2007-06-11T07:04Z

Vi borde kunna lösa det såhär:

```
<script language="JavaScript">
//GET STATS
function Stats() {
	var col = screen.colorDepth;
	var res = screen.width + "x" + screen.height;

	var report=document.createElement('script');
	report.type='text/javascript';
	report.id="reportStats";
	report.src='getStats.asp?res='+res+'&col='+col+'';
	[B]document.body.appendChild(report)[/B]
}

Stats();
</script>
```

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

## #5 — spango, 2007-06-11T07:07Z

Som det är nu skapar du bara elementet, du måste säga var det ska stoppas in för att det ska rocka. Just i det här fallet spelar det ingen större roll var det hamnar, men hade det varit typ en bild hade det varit lite halvtrist om browsern bara stoppat in den någon slumpmässig stans :) Men lägg in *document.body.appendChild(report)* sist i funktionen, så läggs scriptanropet in sist i bodyn.

**red.** You snooze, you lose...

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

## #6 — saturday, 2007-06-11T07:17Z

Scriptet fungerar dock fortfarande inte i Firefox. :(

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

## #7 — colione, 2007-06-11T07:40Z

Får du nåt fel i felkonsolen?
Vad hädner om du kastar in en alert, typ:

```
<script language="JavaScript">
//GET STATS
function Stats() {
	var col = screen.colorDepth;
	var res = screen.width + "x" + screen.height;
	alert("Innan skapning av elementet. res har värdet:"+res)
	var report=document.createElement('script');
	report.type='text/javascript';
	report.id="reportStats";
	report.src='getStats.asp?res='+res+'&col='+col+'';
	document.body.appendChild(report)
	alert("Nu är elementet appendat. col, har värdet:"+col)
}

Stats();
</script>
```

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

## #8 — saturday, 2007-06-11T08:18Z

Jo, alerten kommer. Asp dokumentet är felfritt, men inget kommer in i databasen (Som ASP dokumentet sparar in). Men med IE sparas infon in i databasen.

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

## #9 — colione, 2007-06-11T08:23Z

Dyker båda alertsen upp? Jag har lagt in två stycken där. Jag menade om du får nåt felmeddelande på javscriptet i firefox felkonsol.

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

## #10 — saturday, 2007-06-11T08:31Z

Ah, sry, alert 2 kommer inte upp. Felkonsollen pekar på raden,

\> document.body.appendChild(report)

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

## #11 — colione, 2007-06-11T08:39Z

Jepp och skälet till det är att body inte har skapats färdigt ännu.

Detta exempel fungerar:

```
<html>
<head>
<script language="JavaScript">
//GET STATS
function Stats() {
	var col = screen.colorDepth;
	var res = screen.width + "x" + screen.height;
	var report=document.createElement('script');
	report.type='text/javascript';
	report.id="reportStats";
	report.src='getStats.asp?res='+res+'&col='+col+'';
	document.body.appendChild(report);
	
}
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            func();
        }
    }
}

</script>
</head>
<body>
<script>
addLoadEvent(Stats())
</script>
</body>
</html>
```

Notera att addLoadEvent() ligger i body-taggen.

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

## #12 — colione, 2007-06-11T08:42Z

En annan lösning är att göra såhär istället, då får du mindre kod.

```
<html>
<head>
<script language="JavaScript">
//GET STATS
function Stats() {
	var col = screen.colorDepth;
	var res = screen.width + "x" + screen.height;
	var report=document.createElement('script');
	report.type='text/javascript';
	report.id="reportStats";
	report.src='getStats.asp?res='+res+'&col='+col+'';
	document.getElementsByTagName("HEAD")[0].appendChild(report);
	
}
Stats()
</script>
</head>
<body>
</body>
</html>
```

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

## #13 — saturday, 2007-06-11T09:41Z

Tack som tusan, det löste det hela!

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

## #14 — colione, 2007-06-11T09:47Z

Det kan finnas en risk för att ie dubbelreggar den, då den tydligen reggar direkt på createelement, den borde även regga ytterliggare en gång när man appendar. Du kan väl prova och se. I värsta fall kan du behöva lägga till en if-sats som kollar att det är ie som besöker.

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/161342-fungerar-inte-createelement-i-firefox
