Avatar billede janegil Nybegynder
13. oktober 2004 - 12:21 Der er 4 kommentarer og
1 løsning

Å kode IDNA href host name

Hvordan skal jeg kode en HREF med et IDNA host name?

Hvis jeg koder fx "http://ð.landsbank.fo/" vil det ikke virke i gamle browsere.

Hvis jeg koder "http://xn--hda.landsbank.fo/" vil "--" avslutte en eventuell omsluttende kommentar.

Finnes det noen måte å kode seg unna begge disse problemene samtidig?

Se http://landsbank.fo/test/twin-hyphens.html
Avatar billede roenving Novice
13. oktober 2004 - 14:03 #1
http://xn--hda.landsbank.fo/ virker fint, og med http://ð.landsbank.fo/ omdirigeres jeg med min Mozilla til det andet link, mens IE jo ikke kan finde ud af det uden at man installerer en plug-in ...
Avatar billede janegil Nybegynder
13. oktober 2004 - 20:06 #2
Ja, http://xn--hda.landsbank.fo/ virker fint, men
<!-- http://xn--hda.landsbank.fo/  --> virker dårlig, og er dessuten ulovlig.

Når jeg feilsøker virrete browsere som IE, er kommentarer et uvurderlig debuggingsverktøy, jeg flytter kommentaren rundt i teksten for å finne ut hvilken del av koden min IE ikke tåler.
Avatar billede janegil Nybegynder
13. oktober 2004 - 20:38 #3
Strengt tatt er det ingen omdirigering. ð.landsbank.fo er en alternativ måte å skrive xn--hda.landsbank.fo. De to er SAMME host name.

DNS forstår bare ASCII, så når du ber browseren din om ð.landsbank.fo, spør browseren DNS etter xn--hda.landsbank.fo.

Videre sender browseren host:xn--hda.landsbank.fo i HTTP-headeren; serveren min ser altså ikke om du spurte etter ð.landsbank.fo eller xn--hda.landsbank.fo.

IE klarer dette uten plugg, forutsatt at man koder href="xn--hda.landsbank.fo". Men den er altså ulovlig inne i en kommentar. Jeg har prøvd URL-escaping av '-' som '%2D', men URL-encoding er ikke lov i host-delen av URL'en:
http://xn-%2Dhda.landsbank.fo/
Kanskje
http://xn&#x002D;&#x002D;hda.landsbank.fo/
virker? Det ser lovende ut, men jeg lar spørsmålet stå åpent et stykke til, i tilfelle noen finner problemer med dette, eller finner en mere elegant løsning.
Avatar billede janegil Nybegynder
18. oktober 2004 - 11:38 #4
Eller man kan sette en av bindestrekene i CDATA. Det ville vært penere å sette hele URL'en i CDATA, men det tåler ikke kommentering.
Avatar billede janegil Nybegynder
20. oktober 2004 - 10:47 #5
Ja, blåbærsyltetøy.no har visst sin pris.

Alt i alt tror jeg det beste er å kode bindestrekene som entiteter - det ser ille kryptisk ut, men fungerer både i IE og inne i kommentarer.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester