Inhalt einer Datei in ein Div laden

London14

Grünschnabel
Hallo,

ich hab schon einige ähnliche Lösungen gefunden, aber leider kein passendes für mich.

Ich möchte gern eine Seite mit einigen Links haben. Wenn ein Benutzer nun über einen Link fährt, soll in einem Div ein Infotext aus einer bestimmten Datei geladen werden.

Bsp:
Link 1
Link 2
Link 3

Fährt der Benutzer nun über Link 2, so sollte der Content aus info2.txt in einem div angezeigt werden. Fährt der Benutzer nun über den Link 3, so wird der content von info3.txt in demselben div dargestellt.

Das ganze muss ohne einer serverseitigen Kommunikation auskommen, da das ganze ohne einem Webserver lauffähig sein muss (von CD).

Hat jemand einen Lösungsvorschlag?

Code:
<script>
function ladeContent (datei, divname)
{
   var dateiinhalt = dateiDownload (datei);
   document.getElementById(divname).innerHTML = dateiinhalt;
}
</script>

<a href="#" onclick="ladeContent ('info01','infoanzeige');">Info 01</a><br>
<a href="#" onclick="ladeContent ('info02','infoanzeige');">Info 02</a><br>
<a href="#" onclick="ladeContent ('info03','infoanzeige');">Info 03</a><br>
<div id="infoanzeige"></div>

Leider weiß ich nicht ob der Ansatz richtig ist und ich ich den Content in das Div laden kann...

Gruß,
London14
 
Ich hab die Frage nochmal aufgemacht, da die Lösung leider nicht unter IE8 funktioniert, da dort Standartmäßig keine Skripte funktionieren. Kann man das irgendwie anders lösen?
 
Hey, danke für den super Hinweip. Aber leider kommt der Laufzeitfehler "Zugriff verweigert"

Hier ein kleiner Codeblock, wie ich das Skript aufrufe:
HTML:
<div class="buttons">
  <a href="#" onMouseOver="javascript:ajaxpage('txt/info_01.txt', 'contentarea');">
    <img src="img/info_2.gif" alt="Information">Information
  </a> |
  <a href="#">
    <img src="img/speichern.gif" alt="Download"> Download
  </a>
</div>

...

<div id="contentarea">	</div>

Das Skript habe ich in keiner Weiße angepasst. Laut der Beschreibung auf html-world, sollte HTA geringere Sicherheitsrichtlinien haben, aber ich scheiter immer noch an diesem Skript :-/

Gruß,
London14
 
Das Skript von dynamicdrive hab ich mir nicht weiter angeschaut :-)

Das brauchst du aber auch nicht, wenn du das mit einer HTA machst, da gibt es bequemere Methoden auf Dateien zuzugreifen.

Ich hab da mal nen kleines Beispiel fertiggemacht.

Beachte aber, dass man nie eine hta-Datei ausführen sollte, der man nicht traut...sie kann alles tun, was man mit Windows skriptbasiert kann, und das ist eine Menge :suspekt:

Aber man lädt ja auch keine ZIPs auf seinen Rechner oder schiebt CDs ins Laufwerk, wenn man ihnen nicht traut :)
Falls dir etwas in der HTA-Datei nicht geheuer ist, frag ruhig nach, bevor du sie ausführst.
 

Anhänge

Hi Sven,

zum Fragen stellen... was ist das für eine Endung 'zip'? Ich dachte das sollte hta sein, damit es geht. Ein umbennen hat aber nicht funktioniert :confused:

Nein, Schwerz beiseite ;) Vielen Dank für das kleine Skript. Jetzt funktioniert alles blenden!! Kann man die Größe des Fenster bestimmen?


Derzeit habe ich dein div mit folgenden Style

Code:
div.main {
  position: relative;
  top: 20px;
  width: 773px;
  height: 580px;
  margin: 0px auto;  /* auto = ZENTRIERUNG */
  text-align: left;
  overflow: hidden;
  background-image: url(../img/bg.png); }

Das Fenster ist jedoch etwas zu groß und der IE stellt zudem das div nicht Zentriert dar. Sollte man die Fenstergröße nicht bestimmen können, reicht auch das Zentrieren des divs im IE.

Vielen Dank nocheinmal!

Gruß,
London
 
Die Höhe kannst du per JS anpassen:

Code:
self.resizeTo(breite, höhe)

Das zentrieren ginge z.B. so:
CSS:
body{
  text-align:center;
}
body *{
  text-align:left;
}

reicht auch das Zentrieren des divs im IE
Du musst auf andere Browser keine Rücksicht nehmen, dort ist, zumindest was die Anzeige des Inhalts betrifft, immer der IE am Werk.
 
Zuletzt bearbeitet:
Ok danke!

Ich habe leider noch (hoffentlich) eine letzte Frage:

Ich möchte auch PDF's zum Download anbieten. Leider gibt es nur serverseitige Lösungen, die ja bei mir nicht in Frage kommen. Kennst du vielleicht eine html Lösung?

Gruß,
London
 

Neue Beiträge

Zurück