webForumDet fria alternativet

Varför fungerar inte koden i IE?

4 svar · 574 visningar · startad av yador

yadorMedlem sedan mars 2004455 inlägg
#1

Hejsan!
För 2 dagar sedan så byggde upp en hel sida sida som använde sig av javascript för att rita upp en meny. Dock så kollade jag aldrig på den i internet explorer. Nu när jag för första gången öppnade den i IE så visades inget. Inte ens standard texten som finns i .html filerna som inte skapas av javascriptet. Sidan fungerar felfritt i både opera och firefox annars, men misstänker att min javascript kod ställer till det. Så vad är det för fel (tror/gissa) i denna kod som gör så att IE inte visar något när jag inkluderar denna kod:


function setMenyBorder()
{
	var tag = "menyborder";
	var menyborder = "<div id=\"meny\"></div><div id=\"tooltip\"></div>"; 
	document.getElementById(tag).innerHTML = menyborder;
}

function isThisPage(page) 
{
	return document.location.toString().indexOf(page) > -1;
}

function setMeny()
{
	var arr = new Array();
	var antal = 0;

	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";

	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";

	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";

	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";

	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";

	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";

	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";

	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";

	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";

	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";
	
	arr[antal] = new Array();
	arr[antal][0] = "a";
	arr[antal][1] = "a";
	arr[antal++][2] = "a";

	var meny = "<ol>";

	for(var i=0;i<arr.length;i++)
	{
		if(i == 5)
		{
			meny += "</ol><ol class=\"submeny\">";
		}
		meny = meny + "<li><a href=\"" + arr[i][0] + "\"";
		if(isThisPage(arr[i][0]))
		{
			meny += " class=\"current\"";
		}
		meny += " onmouseover=\"tooltip('" + arr[i][1] + "');\" onmouseout=\"tooltip('');\">" + arr[i][2] + "</a></li>";
	}
	meny += "</ol>";
	document.getElementById("meny").innerHTML = meny;
}

function tooltip(a)
{
	var tag = "tooltip";
	if(a.length == 0)
	{
		document.getElementById(tag).innerHTML = "För över muspekaren på en länk för att få mer information om vart den leder.";
		return;
	}
	document.getElementById(tag).innerHTML = a;
}

window.onload = function()
{
	setMenyBorder();
	setMeny();
	tooltip('');
}

Tack på förhand!

voigtann1Medlem sedan juni 20019 519 inlägg
#2

Kan du lägga upp html sidan med så man slipper skapa en html sida för att testa det?

function addEvent(o, e, f) {
  return o.addEventListener ? o.addEventListener(e, f, false) : o.attachEvent('on' + e, f);
}

addEvent(window,"load",function() {
	setMenyBorder();
	setMeny();
	tooltip('');
});

kanske fungera... säkert samma kod som din men. Prova att ersätta:

window.onload = function()
{
	setMenyBorder();
	setMeny();
	tooltip('');
}

med koden ovan.

yadorMedlem sedan mars 2004455 inlägg
#3

Ansåg inte att det var lönt då jag inte har något på sidan men okej:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>
<title>
Fredriks HTML skola.
</title>
<link type="text/css" rel="stylesheet" href="include/css/standard.css" />
<script type="text/javascript" src="include/javascript/standard.js" />
</head>
<body>
	<div id="content">
		<div id="header">
		</div>
		<div class="txt">
			<h1>Välkommen</h1>
			<p>
			Intro text
			</p>
			<h3>Nyheter</h3>
			Nyheter här...
		</div>
	</div>
	<div id="menyborder">
		Denna sida kräver att Javascript är aktiverat. Var vänlig och aktivera Javascript. Ladda sedan om denna sida genom att trycka F5!
	</div>
</body>
</html>

koden fungerade inte, det blir samma resultat.

Behövs css filen med?

voigtann1Medlem sedan juni 20019 519 inlägg
#4
<script type="text/javascript" src="standard.js" />

är fel

<script type="text/javascript" src="standard.js"></script>

är rätt

yadorMedlem sedan mars 2004455 inlägg
#5

men vafan... var det det lilla :x jaja, men det löste det. Tack!

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)