JavaScript: Dynamische Ausblendung funktioniert nicht
dominik28
- javascript
0 ChrisB0 MudGuard0 Gunnar Bittersmann1 bleicher0 Hans
Hallo!
Ich versuche gerade eine dynamische Ausblendung einer Benachrichtigung zu machen. Die Benachrichtigung zeigt eine Warnung (den Inhalt mache ich später), wenn man den IE benutzt, dass nicht alle Funktionen der Seite funktionieren werden.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Browser</title>
<meta name="author" content="Dominik">
<style>
body {
margin:50px 10% 50px 10%;
padding:0.7em;
border:1pt solid silver;
color:lightslategray;
background-color:white; }
p.bwarning {
position:fixed;
top:0; left:0; right:0;
background-color:green;
color:yellow;
padding:0.7em;
margin:0;
cursor:pointer; }
p.bwarning a {
color:yellow; }
</style>
<script type="text/javascript">
<!--
function firefox_download_link () {
window.location.href = "http://mozilla.org/firefox/";
}
function bwarning_ausblenden () {
document.getElementsById("bwarning").disabled = true;
}
if (navigator.appName == "Microsoft Internet Explorer" || navigator.appName == "Windows Internet Explorer") {
document.write("<p class=bwarning onclick=firefox_download_link()><b>Warnung!</b> Sie benutzen den Internet Explorer. Dies ist sehr gefärlich. Klicken sie bitte <a href=http://mozilla.org/firefox/>hier</a>.</p>");
}
if (navigator.appName == "Netscape") {
document.write("<p class=bwarning><b>Gut!</b> Sie benutzen einen sicheren und leistungsstarken Browser.</p>");
}
// -->
</script>
</head>
<body>
<h1>Welchen Browser sie wohl nutzen?</h1>
<a href="javascript:bwarning_ausblenden()">Browser-Warnung ausblenden</a>
</body>
</html>
Der Ausblenden-Link funktioniert leider nicht.
Kann mir jemand helfen?
Dominik
Grundlage für Zitat #1703.
Hi,
Der Ausblenden-Link funktioniert leider nicht.
Natürlich, denn du versuchst ja mittels getElementById auf ein Element mit einer ID zuzugreifen, die im Dokument gar nicht vorhanden ist.
Bitte gewöhne dir an, beim Entwicklen von JS ständig in die Fehlerkonsole (eines guten Testbrowsers wie bspw. Firefox) zu schauen!
Und was du dir darüber hinaus davon versprichst, die JavaScript-Repräsentation eines P-Elements mit einer Eigenschaft namens "disabled" und dem Wert true auszustatten, ist mir auch unklar.
MfG ChrisB
Hi,
function bwarning_ausblenden () {
document.getElementsById("bwarning").disabled = true;
Da es nur eine Id mit einem konkreten Wert geben kann, gibt es keine Funktion getElementsById.
function bwarning_ausblenden () {
document.getElementsById("bwarning").disabled = true;
etwas auf disabled zu setzen, hat nichts mit ausblenden zu tun.
document.write("<p class=bwarning onclick=firefox_download_link()><b>Warnung!</b> Sie benutzen den Internet Explorer. Dies ist sehr gefärlich. Klicken sie bitte <a href=http://mozilla.org/firefox/>hier</a>.</p>");
Du erzeugst kein Element mit der Id, über die Du auf das Element zugreifen willst.
if (navigator.appName == "Netscape") {
document.write("<p class=bwarning><b>Gut!</b> Sie benutzen einen sicheren und leistungsstarken Browser.</p>");
Netscape 4 ist leistungsstark?
cu,
Andreas
@@dominik28:
nuqneH
<script type="text/javascript">
<!--
Die HTML-Auskommentierung von JavaScript-Code ist bestenfalls unsinnig, womöglich auch falsch.
if (navigator.appName == "Microsoft Internet Explorer" || navigator.appName == "Windows Internet Explorer") {
document.write("<p class=bwarning onclick=firefox_download_link()><b>Warnung!</b> Sie benutzen den Internet Explorer. Dies ist sehr gefärlich. Klicken sie bitte <a href=http://mozilla.org/firefox/>hier</a>.</p>");
}
if (navigator.appName == "Netscape") {
document.write("<p class=bwarning><b>Gut!</b> Sie benutzen einen sicheren und leistungsstarken Browser.</p>");
}
Wo hast du diesen Unsinn her?
Netscape?? In welchem Museum wird der ausgestellt?
Das es inzwischen andere „sichere und leistungsstarken Browser“ gibt, weißt du? Dass IE 8 etwas aufgeholt hat, weißt du?
Du willst IE-8-Nutzern sagen, dass sie einen „gefährlichen“ Browser benutzen? Mach dich bitte nicht lächerlich.
Und welcher Nutzer wird sich einen anderen Browser installieren, nur weil deine Seite meint, dass er es tun sollte?
Und wenn du eine Browserweiche bauen willst, dann mittels <http://de.selfhtml.org/css/layouts/browserweichen.htm#alternative@title=conditional comments> (ggfs. mit else-Zweig).
JavaScript ist hier völlig fehl am Platze. (Und BTW, in JavaScript gibt es conditional compilation.)
Qapla'
Grüße,
2)ich weiss nciht wie es bei furrfox geht (übrigens - der ist statistisch gesehen wesentlich gefährlicher als ie8, aber das nur so am Rande)
aber wenn du einen anständigen Browser wie Opera benutzen würdest, könntest du die Ausführung von JS schritt für schritt verfolgen um zu sehen wo es abbricht bzw. was genau es anstellt.
MFG
bleicher
Hallo,
ich sehe auf die Schnelle folgende Fehler:
bei
function bwarning_ausblenden () {
document.getElementsById("bwarning").disabled = true;
}
ist das "s" hinter "Element" zu viel - mach da also mal "getElementById" draus.
Weiterhin müsstest du aus
if (navigator.appName == "Microsoft Internet Explorer" || navigator.appName == "Windows Internet Explorer") {
document.write("<p class=bwarning onclick=firefox_download_link()><b>Warnung!</b> Sie benutzen den Internet Explorer. Dies ist sehr gefärlich. Klicken sie bitte <a href=http://mozilla.org/firefox/>hier</a>.</p>");
}
if (navigator.appName == "Netscape") {
document.write("<p class=bwarning><b>Gut!</b> Sie benutzen einen sicheren und leistungsstarken Browser.</p>");
}
eine Version mit definierter Id deines p-Tags machen, also so:
if (navigator.appName == "Microsoft Internet Explorer" || navigator.appName == "Windows Internet Explorer") {
document.write("<p class=bwarning id='bwarning' onclick=firefox_download_link()><b>Warnung!</b> Sie benutzen den Internet Explorer. Dies ist sehr gefärlich. Klicken sie bitte <a href=http://mozilla.org/firefox/>hier</a>.</p>");
}
if (navigator.appName == "Netscape") {
document.write("<p class=bwarning id='bwarning'><b>Gut!</b> Sie benutzen einen sicheren und leistungsstarken Browser.</p>");
}
Du hattest zwar mit "class" eine Klasse definiert, dabei jedoch keine ID festgelegt, auf die Javascript aber zugreifen möchte.
Gruß Hans