• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

JS aktiviert oder nicht...

Metallica

Lounge-Member
ich versuche rauszufinden, ob der user JS aktiviert hat oder nicht.

Aber irgendwas paßt da mit dem Code nicht.
Könnt ihr mal 'nen Blick drauf werfen:
if(navigator.javaEnabled() == "false")
{
alert("Bitte aktivieren Sie JavaScript!");
}


Weiters versuche ich noch herauszufinden, welchen browser der user benutzt.
auch da paßt aber was nicht.
if(navigator.appName <> "IE" )
{
alert ("Vorerst bitte den IE benutzen!");
}



Anmerkung:
Es soll aber nicht nur der Alert kommen, sondern die Site soll auch gar nicht weiterladen werden nachdem der User beim Alert-Window auf OK geklickt hat.
 
Zuletzt bearbeitet:
hi,
mach´s so:
<script>
alert("javascript ist an");
</script>
<noscript>
nix javascript
</noscript>

wie man den verwendeten browser erkennt, findest du auf der jswelt. wobei es im allgemeinen sinnvoller ist, die browserfähigkeiten zu erkennen als den string, mit dem sich der browser identifiziert. also z.b.
if (document.images) oder
if (document.layers) usw.

bye,
mo
 
hmm, versteh ich nicht ganz.
kann ich nicht einfach
if(navigator.javaEnabled() == "false")
abfragen??

das ist doch am einfachsten.
es soll ja nur ein alert kommen wenn's deaktiviert ist.
 
Wenn JavaScript deaktiviert ist, dann kannst Du es auch nicht mit JavaScript abfragen.
navigator.javaEnabled() fragt ob JAVA aktiviert ist um Applets zu starten.

der <noscript> bereich wird angezeigt wenn JavaScript deaktiviert ist oder nicht unterstützt wird.
Dort kannst du dann "Bitte aktivieren Sie JavaScript" reinschreiben.
 
komisch.
wenn ich den code im opera teste (da ist kein JS aktiviert) kommt er trotzdem nicht in den <noscript>-Bereich rein.

Ich hab's aber trotzdem eingebaut. So müßte es passen:
<script language="JavaScript">
var jsmm = navigator.javaEnabled();
if(jsmm == false)
{
alert ("JS aktivieren.")
parent.location.href="badinput2.htm";
}
</script>
<noscript>
JS aktivieren.
</noscript>


wenn der browser nun wirklich in <noscript> reinkommt, steht dann nur die meldung im browser oder beginnt er trotzdem die ganze Seite zu laden??
 
das ist schlecht, dass die ganze seite geladen wird.
wenn der browser in den noscript-bereich kommt, kann ich ihm dann nicht sagen, dass er die badinput2.htm laden soll??
 
Klar !

Du kannst doch ein <meta http-equiv= "refresh" content= "0; URL=badinput2.htm">
dort reinsetzen.

mfg Irvine
 
ahh, super! Danke!

werd's morgen gleich mal ausprobieren.

weißt du noch zufällig wo man im IE javascript deaktiviert.
war in den einstellungen drinnen und hab da aber nix gefunden.
 
Extras->Internetoptionen->Registerkarte "Sicherheit"->Symbol Internet/Lokales Intranet->
Stufe anpassen...-> Dann glaube ich den Punkt Scripting deaktivieren.

mfg Irvine
 
ja genau so hab ich's auch gemacht.
aber er kommt trotzdem nicht in den <noscript> Bereich rein.

er bringt den alert vom <javascript> Teil!

Komisch!?!?!
 
Die Art und Weise stimmt schon, wie man JS deaktiviert. Aber erst die nächste Instanz des Browsers benutzt die neuen Einstellungen. Das heißt auf gut deutsch, Browser zu Browser auf, wie wir es ja von M$ gewohnt sind :-(
Eines ist mir allerdings aufgefallen. Dieser Mechanismus scheint JS nicht vollständig abzustellen. Ich habe nämlich gerade JS abgestellt und bin dann auf die JS-Welt und habe das Script "Kaputte MAus" aufgerufen.
Mein Mauszeiger hat sich zwar nicht gedreht, stand aber plötzlich auf dem Kopf.....
Sehr seltsam, finde ich. JS war doch ausgeschaltet!!!!!

Ich gehe der Sache mal nach und schau mal was da wirklich los ist.

Gruß

Manitou
 
Irvine schrieb:
Klar !

Du kannst doch ein <meta http-equiv= "refresh" content= "0; URL=badinput2.htm">
dort reinsetzen.

mfg Irvine

und wird dann auch die index.htm durch die badinput2.htm ersetzt.
so wie bei parent.location.href="badinput2.htm";

der user soll dann nämlich nur die badinput sehen können.

noch was:
muss ich den kompletten pfad angeben oder genügt nur die fileangabe wenn alles im gleichen DIR liegt??
 
1. Ja, wenn Du nicht mit Frames arbeitest, dann steht im Addressfeld badinput2.htm

2. Du brauchst nur den FileName angeben, wenn er im gleichen Ordner liegt.

mfg Irvine
 
momentan verwende ich in meiner index.htm keine frames. ich bin aber eigentlich drauf und dran welche einzubauen weil ich das höchstwahrscheinlich so brauchen werde.

was muss ich da am Befehl dann ändern, dass wieder nur die badinput2.htm im Adressfeld steht??
 
Wenn Du mit Frames arbeitest, dann müsste die badinput2.htm die Datei sein, in der der Frameset definiert wird, damit der FileName im Adressfeld steht.

mfg Irvine
 
Zurück
Oben