navigator.plugins[i] is undefined
Wastl
- javascript
<script type="text/javascript">
function test ()
{
var menge = navigator.plugins.length;
var win = window.open ("","pop","width=200, height=250, left=20, top=20, resizable, scrollbars=yes");
var i = -1;
win.document.write ("<b><u>Your Plug-Ins :</u></b><br><br>");
while (i < menge)
{
i++;
win.document.write (navigator.plugins[i].name+"<br>");
}}
</script>
Der Skript funktioniert nur in den Mozillas und im Opera. Allerdings mit der Fehlermeldung: navigator.plugins[i] is undefined
Was gibt es aber bei der Abfrage der Eigenschaften von Objekten eigentlich zu definieren ?! Liegt 's womöglich am Index-Parameter? Das Beispiel stammt übrigens aus einem BHV-Taschenbuch! ;-p
Gruß Wastl
Hi,
while (i < menge)
{
i++;
win.document.write (navigator.plugins[i].name+"<br>");
}}
</script>
teste mal so:
for (var i = 0; i < navigator.plugins.length; i++){
alert(navigator.plugins[i].name)
}
Das Beispiel stammt übrigens aus einem BHV-Taschenbuch! ;-p
daran wird liegen ;-)
Gruesse, Joachim
function test ()
{
var win = window.open ("","pop","width=200, height=250, left=20, top=20, resizable, scrollbars=yes");
win.document.write ("<b><u>Your Plug-Ins :</u></b><br><br>");
for (var i=0; i < navigator.plugins.length; i++)
{
win.document.write (navigator.plugins[i].name + "<br>");
}
alert (navigator.plugins[0].name);
}
O.K. So funktioniert's ohne Fehlermeldung. Dann lag es aber auch nicht an der ungeliebten while-Schleife, sondern an der fehlerhaften -1 Index-Nummer. Die Position 1 der PopUp-Liste ist jedenfalls identisch mit dem, was mir das alert-Fenster meldet. Hier stellt sich nun die Frage, wann die Schleife eigentlich mit dem Hochzählen beginnt. Dem Ergebnis zufolge müßte das also erst nach dem zweiten Durchlauf erfolgen. MudGuard hat die fehlerhafte Indexnummer - soweit ich das verstanden habe :-p - in seinem Kommentar auch moniert. Jesses ist das alles kompliziert.
:-p
Gruß an beide
O.K. So funktioniert's ohne Fehlermeldung. Dann lag es aber auch nicht an der ungeliebten while-Schleife, sondern an der fehlerhaften -1 Index-Nummer. Die Position 1 der PopUp-Liste ist jedenfalls identisch mit dem, was mir das alert-Fenster meldet. Hier stellt sich nun die Frage, wann die Schleife eigentlich mit dem Hochzählen beginnt.
Wieso läßt du dir nicht einfach die Zählvariabel anzeigen, dann siehst du es doch.
Struppi.
Man ist eben geneigt uneingeschränkt das zu glauben was in der Fachliteratur drinsteht und erwartet ganz einfach von den Autoren, daß sie gelegentlich mal in ihre Fehlerkonsole reinschauen. Überhaupt sollte die JavaScript-Konsole in den Browser-Grundeinstellungen grundsätzlich aktiviert sein, damit diese Schludrigkeit einmal aufhört. Da würde sich manch einer wundern, was er beim Surfen im WWW alles beanstandet bekommt. Gelegentlich treten solche Beanstandungen auch bei (mehr oder weniger) renommierten Skript-Sammlungen auf, was dann an Peinlichkeit nicht mehr zu übertreffen ist.
Gruß Wastl
Man ist eben geneigt uneingeschränkt das zu glauben was in der Fachliteratur drinsteht und erwartet ganz einfach von den Autoren, daß sie gelegentlich mal in ihre Fehlerkonsole reinschauen. Überhaupt sollte die JavaScript-Konsole in den Browser-Grundeinstellungen grundsätzlich aktiviert sein, damit diese Schludrigkeit einmal aufhört.
Das war bis Netscape 3 und ich glaube im IE 4, auch so. Da poppte immer ein Fenster auf, wenn die Seite einen Fehler enthielt. (Meinen IE hab ich auch so konfiguriert, aber den nutze ich nur zum testen).
Die Schludrigkeit hat aber leider nicht aufgehört, sondern die Browserhersteller sind dazu übergegangen die JS Fehler einfach zu verstecken :-(
Struppi.
Hi,
die Browserhersteller sind dazu übergegangen die JS Fehler einfach zu verstecken
weswegen ich beschlossen habe, neuerdings fehlerfrei zu programmieren!
;-)
Gruesse, Joachim
Grundlage für Zitat #1362.
Hi,
var menge = navigator.plugins.length;
Nehmen wir mal an, es gäbe 1 Plugins, menge ist also 1.
while (i < menge)
i sei 0. i ist also kleiner menge.
Also geht es ab in die Schleife.
{
i++;
jetzt ist i = 1.
win.document.write (navigator.plugins[i].name+"<br>");
Jetzt greifst Du auf das Plugin mit Index 1 zu, welches, da ab 0 gezählt wird, das zweite wäre, es gibt aber nur 1.
Für andere Anzahlen von Plugins analog - Deine Schleife geht immer einen Schritt zu weit.
Das Beispiel stammt übrigens aus einem BHV-Taschenbuch! ;-p
Wenn Du einen Kachelofen hast, wüßte ich, wie Du das Buch noch sinnvoll verwenden könntest.
cu,
Andreas
Grundlage für Zitat #1363.