Link im Link
Schmuse
- html
1 Cheatah0 Gunnar Bittersmann0 Orlando
Ich hab folgendes Problem:
Ich will einen Link im Link in der URL-Zeile in meinem Browser ausführen.
http://www.xyz.de/index.html?name=test&url=http://www.xyz.de/seite1.html?abc=1&def=2
http://www.xyz.de/seite1.html?abc=1&def=2 ist der komplette Wert von url, aber def wird als Teil vom ersten Link erkannt, da dort ein & drin ist.
Im enteffekt sollte das so aussehen:
http://www.xyz.de/index.html?name=test&url="http://www.xyz.de/seite1.html?abc=1&def=2"
Weiß jemand, wie ich die url schreibe, damit mein Eingabefeld zum schluß weiß, daß das die ganze URL ist?
Danke im Voraus.
Hi,
http://www.xyz.de/index.html?name=test&url=http://www.xyz.de/seite1.html?abc=1&def=2
oh, Du gehörst zur freenet AG? Interessant. Wie ist denn bei euch die Stimmung wegen der Umstrukturierungen und potenziellen Übernahme?
http://www.xyz.de/seite1.html?abc=1&def=2 ist der komplette Wert von url, aber def wird als Teil vom ersten Link erkannt, da dort ein & drin ist.
Wenn Du einen Wert - egal welchen - in einen Kontext bringst - egal in welchen - musst Du den Wert kontextspezifisch kodieren. Willst Du also eine URL (oder einen Freitext, was immer) in einen URL-Kontext bringen, musst Du eine URL-Kodierung vornehmen.
Cheatah
@@Cheatah:
http://www.xyz.de/index.html?name=test&url=http://www.xyz.de/seite1.html?abc=1&def=2
oh, Du gehörst zur freenet AG? Interessant.
Was Cheatah meinte:
<Gebetsmühle>Verwende für Beispieldomains example.com, example.net, example.org oder auch foo.example, foo.invalid. [RFC2606] NIE Namen angeben, die wirklich existieren! (Man weiß nie, was sich für Inhalt dahinter verbirgt.)</Gebetsmühle>
Wenn Du einen Wert - egal welchen - in einen Kontext bringst - egal in welchen - musst Du den Wert kontextspezifisch kodieren.
Da hab ich mir solche Mühe gegeben so zu klingen wie Cheatah, und war einen Tick zu langsam. ;-)
Live long and prosper,
Gunnar
Hi,
Da hab ich mir solche Mühe gegeben so zu klingen wie Cheatah, und war einen Tick zu langsam. ;-)
macht nichts, der gute Wille zählt ;-)
Cheatah
Hi,
<Gebetsmühle>Verwende für Beispieldomains example.com, example.net, example.org oder auch foo.example, foo.invalid. [RFC2606] NIE Namen angeben, die wirklich existieren
können
»»! (Man weiß nie, was sich für Inhalt dahinter verbirgt.)</Gebetsmühle>
cu,
Andreas
@@MudGuard:
<Gebetsmühle>Verwende für Beispieldomains example.com, example.net, example.org oder auch foo.example, foo.invalid. [RFC2606] NIE Namen angeben, die wirklich existieren
können
»»! (Man weiß nie, was sich für Inhalt dahinter verbirgt.)</Gebetsmühle>
Live long and prosper,
Gunnar
Hi,
"existieren oder existieren können"?
Cheatah
@@Schmuse:
http://www.xyz.de/index.html?name=test&url=http://www.xyz.de/seite1.html?abc=1&def=2
http://www.xyz.de/seite1.html?abc=1&def=2 ist der komplette Wert von url, aber def wird als Teil vom ersten Link erkannt, da dort ein & drin ist.
Du musst das zweite '&' kontextspezifisch codieren; und der Kontext ist hier URI. Also die Sache mit '%'. [RFC3986 §2.1]
Da '&' (Unicode-Copepoint U+0026) im Bereich Basic Latin liegt, wird es sowohl nach UTF-8 als auch nach ISO 8859-x als Oktettwert 26 (hexadezimal) codiert; in einem URI also als '%26'.
Wenn du den URI in den HTML-Kontext bringst (als Wert eines 'href'-Attributs), musst du das erste '&' auch
kontextspezifisch codieren; und der Kontext ist dann HTML. [HTML401 §B.2.2]
Live long and prosper,
Gunnar
Hi,
Du musst das zweite '&' kontextspezifisch codieren;
der komplette Wert muss kodiert werden. Dass die meisten Zeichen dadurch nicht verändert werden, tut dieser Sache keinen Abbruch. Insbesondere sollte der Vorgang aber nicht auf einzelne Zeichen beschränkt werden, weil dann nämlich andere, teilweise noch wichtigere[1] Zeichen übersehen werden.
Cheatah
[1] Komparativ, falls so etwas wie "falscher als falsch" möglich ist. Das &-Zeichen darf zumindest mehrmals in einer URL vorkommen, im Gegensatz zu einigem anderen, gell_?_ ;-)
@@Cheatah:
[...] weil dann nämlich andere, teilweise noch wichtigere[1] Zeichen übersehen werden.
Hm_?_ Oh, in der Tat.
[...] im Gegensatz zu einigem anderen, gell_?_ ;-)
*g*
Der Unicode-Codepoint auch dieses Zeichens ist im Unicode-Chart Basic Latin* ersichtlich.
Live long and prosper,
Gunnar
* wollte ich eigentlich schon beim ersten Mal verlinken.
Im enteffekt
ist das ein Quak.
Grundlage für Zitat #956.