Daniel: Generieren von HTML-Code inkl. Anker-Verweisen

ich habe ein problem bei der generierung von html-code mittels document.write.
folgende lage:
die datei test.html wird geladen. nach korrekter passwort-eingabe wird
in diesem fenster neuer html-code per ausgelagertem javascript generiert (der alte seiteninhalt wird ueberschrieben). in den neuen code sind verweise auf anker innerhalb des temporaeren dokuments eingebaut. schreibe ich nun ...href="test.html#ankername"... laedt der
browser die test.html neu und sucht dort den ankernamen (klappt natuerlich nicht!). lasse ich den dateinamen weg ..a href="#ankername"
so zeigt mir der browser ein listing des aktuellen directories. :-((
gibt es da einen trick ? kann ich vielleicht irgendwie an den cache-internen name meiner generierten datei kommen ?

gruss,
daniel

  1. Hallo Daniel

    in diesem fenster neuer html-code per ausgelagertem javascript generiert (der alte seiteninhalt wird ueberschrieben). in den neuen code sind verweise auf anker innerhalb des temporaeren dokuments eingebaut. schreibe ich nun ...href="test.html#ankername"... laedt der browser die test.html neu und sucht dort den ankernamen (klappt natuerlich nicht!). lasse ich den dateinamen weg ..a href="#ankername" so zeigt mir der browser ein listing des aktuellen directories. :-((

    Also das Folgende hab ich einwandfrei zum Laufen gebracht:

    HTML-Datei:
    <HTML>
    <HEAD>
    <TITLE>Untitled</TITLE>
    <SCRIPT language="JavaScript" src="datei.js">
    </SCRIPT>
    </HEAD>
    <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#000099" ALINK="#FF0000">
    </BODY>
    </HTML>

    JS-Datei:
    document.clear();
    document.open();
    document.writeln("<html><body><a href="#anker">Testlink</a>");
    document.writeln("<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>");
    document.writeln("<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>");
    document.writeln("<html><body><a name="anker">Ziel</a>");
    document.writeln("<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>");
    document.writeln("<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>");
    document.writeln("</body></html>");

    Der interne Link innerhalb des erzeugten Codes funktioniert einwandfei. Oder entspricht dieser Workaraound nicht Deiner Situation?

    viele Gruesse
      Stefan Muenz

    1. hat leider torztdem nicht geklappt. hier nochmal ganz genau meine
      situation:

      ich rufe ich wie gesagt nach einer passworteingabe ein
      function "abfrage()" auf.
      wenn alles korrekt eingegeben wurde, spring man aus der abfrage-function in
      die function "generieren()" und dort wird der quellcode mit document.write();
      generiert:

      function generieren()
      {
      document.open();
      bodystring = ('........')
      document.write(bodystring);
      document.close();
      }

      kann es an dieser verschachtelung liegen ?

      zusaetzlich wird automatisch in jedem html-dokument vor dem HEAD ein
      BASE HREF="...."-tag eingefuegt, das das aktuelle verzeichnis beinhaltet.
      liegt es daran, dass bei einem ankerverweis dieser ankername im aktuellen
      verzeichnis gesucht wird und wie kann man das unterbinden (wird wie gesagt
      automatisch eingebunden)?

      gruss,
      daniel

    2. hi stefan,
      aendere deinen code mal folgendermassen:

      HTML-Datei:
      <HTML>
      <HEAD>
      <TITLE>Untitled</TITLE>
      <SCRIPT language="JavaScript" src="datei.js">
      </SCRIPT>
      </HEAD>
      <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#000099" ALINK="#FF0000">

      ###  <FORM><INPUT Type=Button onClick="generate()"></FORM>

      </BODY>
      </HTML>

      JS-Datei:

      function generate() {

      document.clear();
      document.open();
      document.writeln("<html><body><a href="#anker">Testlink</a>");
      document.writeln("........");
      document.writeln("........");
      document.writeln("<a name="anker">Ziel</a>");
      document.writeln("........");
      document.writeln("........");
      document.writeln("</body></html>");

      }

      so klappt es bei MIR nicht mehr. gibt es dafuer eine erklaerung bzw. besser noch
      eine loesung ??

      gruesse,
      daniel