Experiment: Kohlkopf

+Übersicht
+Tools & Links
+HTML-Allgemein
+Tabellen & Layer
-JavaScript/DOM
Browser-Unterschiede
Variablenübergabe
Weiterleitungen
PopUp-Fenster
Dateien auslesen
<select>-Wert ermitteln
Zugriff auf Fenster
2 Aktionen im Formular
<textarea>-Zeichenlimit
statisch positionieren
Bilderwechsel
Image-Preload
Zufallszahlen
+CSS
+Frames
+Diverses


 
Valid CSS!
Valid HTML 4.01!
 
 
zum Provisorium

 > Übersicht der Fragen
   > JavaScript/DOM
     > Dateien auslesen
 
 
Kann ich mit Javascript beliebige Dateien auslesen?
 

Grundsätzlich ist das mit Javascript nicht möglich.

Über Umwege gibt es aber doch Möglichkeiten, dies zu erreichen.

Eine Möglichkeit, welche allerdings nur der Internet Explorer bietet, bedient sich der Technik der Datenanbindung. Diese erlaubt es, Textdateien als Objekt in eine Webseite einzubinden und mit Javascript darauf zuzugreifen. Informationen zu diesem Thema findest du bei SelfHTML:Datenanbindung.


Weiterhin ist es natürlich möglich, Inhalt aus externen Javascript-Dateien auszulesen. Mit in Javascript-Arrays gespeicherten Daten ist es sehr gut möglich, datenbankähnliche Projekte kleineren Umfangs zu verwirklichen:

Beispiel
Javascript-"Suchmaschine"

Quelltext der "Suchmaschine"


<html>
<head>
<title>Javascript-Suchmaschine</title>
<script type="text/javascript"src="siteIndex.js"></script>
</head>
<body>
<script type="text/javascript">
<!--
treffer='';
if(location.search!='')
  {
  queryStr=String(location.search);
  queryStr=queryStr.substring(1,queryStr.length);
  queryStr=queryStr.split('=');
	if(queryStr[0]=='query')
	  {
	  queryStr=escape(queryStr[1]);
	  for(var z in files)
	    {
	    if(files[z]['keywords'].match(eval('/'+queryStr+'/i')))
	      {
	      if(treffer=='')
	        {
	        treffer=	'<h1>Ihre Suchergebnisse f&uuml;r [ '+
	        		queryStr+' ]</h1><hr><ol>';
	        }
	      treffer+=	'<li>'+'<a href="../'+z.replace(/^file/,'')+
	      		'.htm">'+files[z]['title']+'</a></li>';
	      }
	  }
	  if(treffer=='')
	    {
	    treffer='<h1>Ihre Suchanfrage erzielte keine Treffer</h1><hr>';
	    }
	  else
	    {
	    treffer+='</ol><hr>';
	    }
	  document.write(treffer);
   }
}
//-->
</script>
<form action="index.html">
<h1>Dateien nach Schl&uuml;sselw&ouml;rtern durchsuchen</h1>
<input type="text"name="query"size="18">
<input type="submit"value="Los">
</form>
</body>
</html>

Erläuterung:

In dem Dokument befindet sich ein herkömmliches Formular, welches die selbe Seite als Ziel hat.
Übermittelt ein Besucher einen Suchbegriff mit diesem Formular, wird dieser eingangs nach der im Abschnitt Variablenübergabe beschriebenen Methode ermittelt. Weiterhin wurde in dem Dokument ein externes Javascript namens siteIndex.js eingebunden. Dieses enthält, sortiert in Arrays, Titel und META-Keywords der in den FAQ's vorhandenen Seiten.
Wird der Seite nun ein Suchbegriff übermittelt, werden die Arrays, welche die META-Keywords enthalten, nach diesem Begriff anhand eines regulären Ausdrucks durchsucht. Wird in einem der Arrays der Suchbegriff gefunden, erfolgt die Ausgabe eines Links zu der entsprechenden Seite.


tip   Auf diese Art lassen sich auch mit Javascript recht umfangreiche Datenbanklösungen erstellen, welche im Gegensatz zur Microsoft-Datenabindung in einer Vielzahl von Browsern funktioniert.
Allemal sollte man, falls möglich, eine serverseitige Lösung vorziehen, da die Javascript-Variante eine Reihe von Nachteilen in sich birgt. Abgesehen davon, dass die Aktivierung von Javascript im Browser Vorraussetzung ist, muss die komplette "Datenbank" erst einmal auf den Rechner der Besuchers geladen werden, was ihre vertretbare Grösse sehr einschränkt. Dazu kommt, dass die Geschwindigkeit des Zugriffs auf die Daten gegenüber echten Datenbanksystemen weitaus geringer ist.

Des Weiteren besteht die Möglichkeit, Dateien unter Zuhilfenahme eines Java-Applets auszulesen. Einen ausführlichen Artikel dazu findest du bei SelfHTML:Auf Dateien mit JavaScript zugreifen


 
 
   
beantwortet von
doktormolle
 
 
zum proVisorium Impressum