Generieren von HTML-Code inkl. Anker-Verweisen
Daniel
- javascript
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
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
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
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:
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