Hi Forum,
Ich habe ein kleines Problem mit dem Internet Explorer. Ich moechte mit Javascript den Inhalt eines <style> tags ersetzen. Der Javascript Code ist ziemlich einfach:
--------------------------------------------------
function update_css(input) {
document.getElementsByTagName("style")[0].firstChild.data = '<!--'+input+'-->';
}
--------------------------------------------------
Wie immer funktioniert das auch gut in Firefox, Google Chrome und Safari. Und wie immer bereitet der Internet Explorer Probleme. Dort bekomme ich die Fehlermeldung:
'document.getElementByTagName(...).0.firstChild' is null or not an object
Die alternative Schreibweise mit
document.getElementsByTagName("style").item(0).firstChild.data
fuehrt zum selben Resultat.
Hier ist ein HTML Beispiel, das in Firefox etc... aber nicht in IE funktioniert:
--------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">
<head>
<title>Test</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<script src="test.js" type="text/javascript"></script>
<style type="text/css"><!-- --></style>
</head>
<body>
<div>
<textarea id="editor_1" rows="8" cols="80" onchange="update_css(this.value);">h1 {
color: #ff0000;
}</textarea>
</div>
<h1>Test sample</h1>
<p>Test paragraph</p>
</body>
</html>
--------------------------------------------------
In diesem Fall wird das CSS im Textfeld auf die HTML-Seite angewendet.
Falls irgendjemand einen Weg kennt oder eine Idee hat, dies auch im IE zu ermoeglichen waere ich sehr dankbar.
Schoene Gruesse!
Anatol