ist JavaScript im Browser aktiviert?
Stefan
- javascript
hallo,
ich suche ein Script, welches prüft, ob JavaScript im Browser aktiv ist oder nicht. Wenn ja soll die Seite angezeigt werden, wenn nein soll es ein Umleitung zu einer Seite geben, wo der User darauf hingewiesen wird, das JavaScript aktiviert sein muss.
Im Archiv habe ich zwar schon etwas ähnliches gefunden, aber leider ist es nicht genau das was ich brauche:
<script language="JavaScript">
<!--
location.href = "/angebote/index1.html";
//-->
</script>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
Bitte schalten Sie JavaScript ein!
</body>
Das Problem hierbei ist, das ich diese Seite vor jede einzelne Seite schalten müsste.
beste Grüße und vielen Dank
Stefan
Hoi,
ich suche ein Script, welches prüft, ob JavaScript im Browser
aktiv ist oder nicht. Wenn ja soll die Seite angezeigt werden,
wenn nein soll es ein Umleitung zu einer Seite geben, wo der
User darauf hingewiesen wird, das JavaScript aktiviert sein muss.
*lol* So ein Script kann es nicht geben.
Im Archiv habe ich zwar schon etwas ähnliches gefunden, aber
leider ist es nicht genau das was ich brauche:
<script language="JavaScript">
<!--
location.href = "/angebote/index1.html";
//-->
</script>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
Bitte schalten Sie JavaScript ein!
</body>
Das Problem hierbei ist, das ich diese Seite vor jede einzelne
Seite schalten müsste.
Nimm doch:
<noscript>
<meta http-equiv="refresh" content="0;URL=/nojs.html">
</noscript>
Ist zwar kein Script, tuts aber uU auch ;-)
Gruesse,
CK
Hi,
ich suche ein Script, welches prüft, ob JavaScript im Browser aktiv ist oder nicht.
damit dieses Script ausgeführt werden kann, muss JavaScript aktiv sein. Got it? Analog kannst Du auch ein Programm schreiben, welches prüft, ob der Rechner an ist, auf dem es läuft... :-)
Wenn ja soll die Seite angezeigt werden, wenn nein soll es ein Umleitung zu einer Seite geben, wo der User darauf hingewiesen wird, das JavaScript aktiviert sein muss.
Ich fühle mich verpflichtet darauf hinzuweisen, dass Du Dein Konzept noch mal überdenken solltest. Es ist schwer, eine handelsübliche Seite zu erstellen, bei der JavaScript _wirklich nötig_ ist, ohne es eklatant falsch gemacht zu haben.
Im Archiv habe ich zwar schon etwas ähnliches gefunden, aber leider ist es nicht genau das was ich brauche:
Du suchst einen Redirect, der ohne JavaScript arbeitet. Wenn Du ihn gefunden hast: Nein, er lässt sich nicht abschalten, wenn JavaScript aktiv ist. _Eine_ Umleitung brauchst Du auf jeden Fall, auch bei aktivem JavaScript.
Das Problem hierbei ist, das ich diese Seite vor jede einzelne Seite schalten müsste.
Du machst augenscheinlich etwas grundlegendes falsch. Gestalte Deine JavaScripts so, dass eine Non-JavaScript-Variante inklusive ist.
Cheatah
hallo,
ich suche ein Script, welches prüft, ob JavaScript im Browser aktiv ist oder nicht. Wenn ja soll die Seite angezeigt werden, wenn nein soll es ein Umleitung zu einer Seite geben, wo der User darauf hingewiesen wird, das JavaScript aktiviert sein muss.
Moin Moin !
Wie wäre es so?
<html>
<head>
<title>Demo</title>
</head>
<body>
<noscript>
<h1>This Webpage needs Javascript</h1>
<p>Please enable Javascript and reload this page.</p>
<p><a href="/js-help.html">How to enable Javascript</a></p>
<hr>
</noscript>
<p>Bla bla bla</p>
<script language="Javascript"><!--
alert("Kaboom! Now I have full control and will dominate the world!");
//--></script>
<p>Bla bla bla</p>
</body>
</html>
Du hast bei abgeschaltetem Javascript dann oben in der Seite einen fetten Hinweis und einen Link auf die Anleitung, zusätzlich zum Inhalt.
Wenn Dich der Wahnsinn völlig packt, geht's natürlich auch so, dann gibt's den Inhalt nur, wenn Javascript an ist, keine Suchmaschine kann dann deine Seite mehr indizieren, und sicherheitsbewußte/paranoide Surfer werden Deine Seite nicht mal mit dem Hinterteil ansehen:
<html>
<head>
<title>Demo</title>
</head>
<body>
<noscript>
<h1>This Webpage needs Javascript</h1>
<p>Please enable Javascript and reload this page.</p>
<p><a href="/js-help.html">How to enable Javascript</a></p>
<hr>
</noscript>
<script language="Javascript"><!--
document.writeln('<p>Bla bla bla</p>');
document.writeln('<p><img src="somepic.jpg"></p>');
document.writeln('<p>Bla bla bla</p>');
//--></script>
</body>
</html>
Alexander
Hi,
Wenn Dich der Wahnsinn völlig packt, geht's natürlich auch so, dann gibt's den Inhalt nur, wenn Javascript an ist, keine Suchmaschine kann dann deine Seite mehr indizieren, [...]
Wobei sich die Frage stellt, warum Suchmaschinen sowas nicht indizieren. Für sie wäre es ja nur ein Vorteil, auch solche javascript-erzeugten Seiten zu indizieren. Der Aufwand, das rauszufiltern ist ja nicht höher, als bei normalem HTML.
Chris
Hi,
[...] keine Suchmaschine kann dann deine Seite mehr indizieren, [...]
Wobei sich die Frage stellt, warum Suchmaschinen sowas nicht indizieren.
wenn es sich um HTML-Code handelt, der nur mit JavaScript wild hin- und hergeschaufelt wird, indizieren sie es. Wenn es sich um JavaScript-Code handelt, der die Link-URLs dynamisch generiert, HTML-Code erzeugt o.ä., so indizieren sie es nicht. Grund:
Suchmaschinen beherrschen kein JavaScript.
Für sie wäre es ja nur ein Vorteil, auch solche javascript-erzeugten Seiten zu indizieren.
Warum? Weißt Du wie schwer es ist, einen korrekt funktionierenden Interpreter zu schreiben? HTML zu analysieren ist um ein Vielfaches leichter - weil es sich bei HTML nicht um Programmierung handelt.
Der Aufwand, das rauszufiltern ist ja nicht höher, als bei normalem HTML.
Rausfiltern werden sie es bestimmt nicht... was Du verlangst ist eher vergleichbar damit, den Text zu speichern, der in Form von Grafiken abgelegt ist.
Cheatah
Hi,
wenn es sich um HTML-Code handelt, der nur mit JavaScript wild hin- und hergeschaufelt wird, indizieren sie es. Wenn es sich um JavaScript-Code handelt, der die Link-URLs dynamisch generiert, HTML-Code erzeugt o.ä., so indizieren sie es nicht. Grund:
Suchmaschinen beherrschen kein JavaScript.
Für sie wäre es ja nur ein Vorteil, auch solche javascript-erzeugten Seiten zu indizieren.
Warum? Weißt Du wie schwer es ist, einen korrekt funktionierenden Interpreter zu schreiben? HTML zu analysieren ist um ein Vielfaches leichter - weil es sich bei HTML nicht um Programmierung handelt.
Rausfiltern werden sie es bestimmt nicht... was Du verlangst ist eher vergleichbar damit, den Text zu speichern, der in Form von Grafiken abgelegt ist.
Sie müssen ja nicht den Javascript-Code interpretieren, sie müssen nur ungefähr so eine Regexp verwenden:
/document.writeln('(.+?)')/
Das ist doch nicht sooviel schwerer, als HTML-Tags rauszufiltern.
Chris
Hi,
Sie müssen ja nicht den Javascript-Code interpretieren, sie müssen nur ungefähr so eine Regexp verwenden:
Dir ist bekannt, wie rechenintensiv Regular Expressions sein können; insbesondere wenn man in Anbetracht einer gewissen Datenmasse auf Performance acht geben muss?
/document.writeln('(.+?)')/
document.write() gibt's auch. Abgesehen davon sind ohne weiteres Variablen darin möglich, die sich garantiert nicht mit einer RegExp erfassen lassen. Nein, hinter einer Programmiersprache steckt *wesentlich* mehr als hinter einer Markup Language.
Das ist doch nicht sooviel schwerer, als HTML-Tags rauszufiltern.
Okay, dann nimm Dir mal bitte auf diese Weise das Menü von http://www.quelle.de/ vor. Kann ja nicht so schwer sein, die Deeplinks der "Einkaufswelt" zu crawlen, oder?
Cheatah
Hi Cheatah
Bewundere mal wieder mit welchem Elan du hier Entwicklungshilfe gibst! ;)
aber kleine Anmerkung...
Dir ist bekannt, wie rechenintensiv Regular Expressions sein können; insbesondere wenn man in Anbetracht einer gewissen Datenmasse auf Performance acht geben muss?
Regexp sind m.E. sehr performant, insbesondere weil sie intern in
statemachines compiliert werden.
Allerdings die Vorstellung JS zu parsen um den dynamischen HTML-Code
durchsuchbar zu machen ist - da sind wir uns einig - nicht vernuenftig
zu realisieren!
Tschuess
Rolf
Hi Rolf,
Allerdings die Vorstellung JS zu parsen um den dynamischen HTML-Code
durchsuchbar zu machen ist - da sind wir uns einig - nicht vernuenftig
zu realisieren!
Ich würde das noch nicht mal an der Performance festmachen, sondern eher
an der grundsätzlichen Unmöglichkeit wegen Informationsdefizit.
Nehmen wir mal an, wir hätten nun tatsächlich einen JavaScript-Interpreter
geschrieben. Was tut der, wenn er an eine Stelle kommt, wo das zu inter-
pretierende JavaScript-Programm einen Wert aus einer Variable lesen will,
die in einem anderen Frame definiert ist? Oder gar in einem Java-Applet?
(Es gibt da ja doch so eine Schnittstelle zwischen Java und JavaScript.)
Wenn das Ergebnis des JavaScript-Programms von Eingabedaten abhängt, die
von außerhalb des analysierten Dokuments stammen, dann haben wir ein Pro-
blem.
Um dies zu modellieren, müßte nicht nur ein JavaScript-Interpreter her,
sondern der Suchmaschinen-Crawler (von der die ganze Fragestellung ja
ausging) müßte einen Browser simulieren, also in der Lage sein, beliebig
viele Dokumente gleichzeitig verfügbar zu halten und nicht nur JavaScript,
sondern auch noch DOM und Java und was auch immer verstehen.
Bisher reicht es dem Crawler aus, ein Dokument zu saugen, dessen Inhalt zu
parsen, Links zu extrahieren und mit diesen rekursiv weitere Crawling-
Operationen zu starten - er kann also jedes Dokument isoliert verarbeiten.
Mit diesem Ansatz kommt er aber bei JavaScript nicht arg weit ...
Viele Grüße
Michael
Hi Michael
Ich würde das noch nicht mal an der Performance festmachen, sondern eher
an der grundsätzlichen Unmöglichkeit wegen Informationsdefizit.
Ganz deiner Meinung, es ist keine Performancefrage!
Ich würd die Komplexitaet noch höher ansiedeln, in der Liga
automatischer Programmbeweise. Und die _kann_ es nicht geben.
Tschuess
Rolf