document.write Probleme im IE

desaster0505

Erfahrenes Mitglied
Hallo zusammen!

Ich hab mal ne kleine Seite programmiert in der ich den HTML-Code per JS (document.write) anzeigen lasse. Die Index-Datei sieht so aus:

HTML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<title>Datanet</title>
	<script type="text/javascript" language="javascript" src="newcssmenu.js"/>
	<link type="text/css" rel="stylesheet" href="cssmenu.css"/>
	<link type="text/css" rel="stylesheet" href="main.css"/>
</head>

<body >


<script type="text/javascript" language="javascript" src="banner.js"/>
<script type="text/javascript" language="javascript" src="menu.js"/>
	<div id="content">
	Inhalt
	</div>
</div>
</body>

</html>

Das ganze funktioniert im FF2 und Opera 9.24 wunderbar. Nur der IE7 und 6 zeigen keinen Inhalt an.
In "banner.js" und "menu.js" ist lediglich HTML-Code den ich per doument.write ausgeben lasse.

Wo könnte das Problem denn sein?
 
<script> ist kein leeres Element, es erfordert einen schliessenden Tag.
Wenn du ein <script>-Tag öffnest, denkt der IE solange, alles ist Skriptcode, bis du es wieder schliesst...und da du dies nicht tust, zeigt er nichts an...weil er denkt alles ist Skripterei :-)

Deine Schreibweise <script ....../> gilt in XHTML für leere Elemente wie <img> oder <input>....<script> ist aber wie gesagt kein Solches.
 
Ahh okay, daran lags.
Was ist denn ein leeres Element genau definiert? Wenn zwischen öffnendem und schließendem Tag nichts steht? Da ja z.B. zwischen <img...></img> in der Regel ja nichts steht oder?
 
Hi,

hier mal zur Veranschaulichung eine Liste sog. "Standalone-Tags", die keinen Inhalt und schliessenden Tag besitzen:

Code:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
Code:
<link rel="stylesheet" type="text/css" href="...">
Code:
<img src="..." alt="...">
Code:
<input type="text">
Code:
<br>
Code:
<hr>
dafür aber in XHTML mit der Syntax "/>" geschlossen werden - also z.B.:

Code:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 

Neue Beiträge

Zurück