Javascript Kompatibilität
Peter Schäfer
- browser
0 Hubert0 André Laugks
Hallo,
ich habe für meine Internetseite einfache Javascripte selbst
geschrieben, leider musste ich feststellen obwohl die Scripte
alle im Internet Explorer 5 für Mac funktionieren, geben
Internet Explorer für Windows (egal welche Version) nur
Fehlermeldungen wieder.
Ist dieses Problem bekannt und gibt es vielleicht auch eine
Lösung.
Danke.
Peter
Nabend,
Ist dieses Problem bekannt und gibt es vielleicht auch eine Lösung.
Was hälst du davon uns auch noch die Scripte und die Fehlermeldungen zu sagen?
Bis denne,
Hallo,
die Fehlermeldung lautet meistens "Objekt erwartet".
Die Angabe wo der Fehler sein soll zeigt auf die markierte
Zeile im folgenden hmtl code.
<form>
<select NAME="Auswahl" style="border:0; background-color:#90B6E0; width:200px">
<option value="nothing">Wählen Sie aus der Liste</option>
<optgroup label="Anleitungen">
<option value="../Information/Oszilloskop/index.html">Oszilloskop (HTML)</option>
</optgroup>
<optgroup label="Formeln">
<option value="Download/Formelsammlung.pdf">Formeln Elektrotechnik (PDF, 87KB)</option>
</optgroup>
</select>
------------------ nun die angeblich fehlerhafte Zeile ----------
<input type="button" name="ok" value="OK" onclick="getdownload(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)" style="border:0; background-color:#90B6E0;">
-----------------------------------------------------------------
</form>
Das Javascript (getdownload) befindet sich in einer externen
Javascript datei.
-----------------------------------------------------------------
function getdownload(x)
{
var Wert = x;
Note = document.getElementById("Ausgabe").childNodes.length;
if (Wert == "nothing")
{
ausgabe1();
}
else if (Wert == "novid")
{
ausgabe2();
}
else
{
Check=confirm ("Wichtiger Hinweis!\nBitte beachten Sie, dass alle Inhalte\ndieser Seite urheberrechtlich geschuetzt sind.");
if (Check == true)
{
while (Note >= 0)
{
del = document.getElementsByTagName("span")[0].firstChild;
document.getElementsByTagName("span")[0].removeChild(del);
if (document.getElementById("Ausgabe").childNodes.length == 0) break;
}
window.open( Wert );
}
else
abort();
}
}
--------------------------------------------------------------------
Vielleicht zeigt das ja das Problem.
Danke
Peter
if (Check == true)
{
while (Note >= 0)
{
del = document.getElementsByTagName("span")[0].firstChild;
document.getElementsByTagName("span")[0].removeChild(del);
if (document.getElementById("Ausgabe").childNodes.length == 0) break;
Hallo!
Ich verstehe eines nicht:
Wozu das Note
und was hat es mit dem span auf sich?
Auf jeden Fall musst du wenn du
getElementById... schreibst auch eine ID vergeben
-> <select name="Auswahl" id="Auswahl"....>
Ich weiß aber nicht was du mit dem SPAN und so meinst!
Christoph
Hallo Christoph,
danke für die Antwort, um das ganze etwas zu erklären,
es geht darum das wenn der wert True (also Okay geklickt)ausgeben wird, alle Kindknoten unter der ID=Auswahl, die im Dokument vergeben
ist, gelöscht werden sollen.
Span ist hier nur mittel zum Zweck weil durch ausprobieren sich
die ID vergabe <span id="Auswahl"> als beste Integration in einen
Text herausgestellt hat.
Theoretisch hätte man also auch ...
if (Check == true)
{
while (Note >= 0)
{
del = document.getElementById("Ausgabe")[0].firstChild;
document.getElementById("Ausgabe")[0].removeChild(del);
if (document.getElementById("Ausgabe").childNodes.length == 0) break;
... notieren können, hat aber im Praxistest irgendwie nicht funktioniert.
Note ist eine globale Variable, die die Anzahl der Kindknoten speichert.
Aber am besten erkläre ich was ich versucht habe zu erreichen, ich wollte das auf bestimmte Aktionen des Besuchers, Antworten, wie z.B.
"Es wurde kein Inhalt ausgewählt." in die Seite an einer ganz bestimmten stelle ausgegeben wird. Daraufhin habe ich mich durch Selfhtml gearbeitet und versucht meine Kenntnisse im Zusammenhang mit Javacript zu erweitern. Tja und da ich nicht so schnell aufgeben will, hoffe ich hier auf eine Lösung.
Gruß
Peter
es geht darum das wenn der wert True (also Okay geklickt)ausgeben wird, alle Kindknoten unter der ID=Auswahl, die im Dokument vergeben
ist, gelöscht werden sollen.
das heißt das ganze SELECT willst du weg haben?
Aber am besten erkläre ich was ich versucht habe zu erreichen, ich wollte das auf bestimmte Aktionen des Besuchers, Antworten, wie z.B.
"Es wurde kein Inhalt ausgewählt." in die Seite an einer ganz bestimmten stelle ausgegeben wird. Daraufhin habe ich mich durch Selfhtml gearbeitet und versucht meine Kenntnisse im Zusammenhang mit Javacript zu erweitern. Tja und da ich nicht so schnell aufgeben will, hoffe ich hier auf eine Lösung.
Ich verstehe nicht ganz
Du möchtest also, dass der Text nicht mit einem Alert ausgegeben wird sondern mit einem Layer?
Oder habe ich das falsch verstanden?
Einen Fehler hast du, denke ich, im Code:
if (Check == true)
{
while (Note >= 0)
{
del = document.getElementsByTagName("span")[0].firstChild;
document.getElementsByTagName("span")[0].removeChild(del);
if (document.getElementById("Ausgabe").childNodes.length == 0) break;
}
window.open( Wert );
}
Hier muss noch auf das nächste CHILD gesprungen werden, es gibt glaube ich nur ein FIRSTCHILD.
mit nextSibling
also:
if (Check == true)
{
del = document.getElementsByTagName("span")[0].firstChild;
while (Note >= 0)
{
document.getElementsByTagName("span")[0].removeChild(del);
if (document.getElementById("Ausgabe").childNodes.length == 0) break;
del = del.nextSibling;
}
window.open( Wert );
}
Ich bin mir da jetzt auch nicht ganz sicher aber ja
Gruß Christoph
Hallo!
ich habe für meine Internetseite einfache Javascripte selbst
geschrieben, leider musste ich feststellen obwohl die Scripte
alle im Internet Explorer 5 für Mac funktionieren, geben
Internet Explorer für Windows (egal welche Version) nur
Fehlermeldungen wieder.
Was sind den die Fehlermeldungen?
Der Mac-IE ist zwar ein bißchen gaga und ein Auslaufmodel dazu, aber JS kann er ganz gut.
Ist dieses Problem bekannt und gibt es vielleicht auch eine
Lösung.
Tschja, welches Problem.
MfG, André Laugks