webForumDet fria alternativet

Ankare följer med variabel

ASP

6 svar · 423 visningar · startad av J.N.

Medlem sedan apr. 20031 660 inlägg
Frågan#1

HEJ!

Jag har problem med att request.querystring får med sig ankaret som är påhängt.

sida.asp?id=8#epost@doman.com finns i adressfältet, när jag sedan behöver det i sql, ger frågan "8#epost@doman.com", dvs det går inte alls. :(

På de datorer jag testat fungerar det med IE6. Det fungerar inte på kundens dator med IE6.

Vad beror detta på, och finns det en riktigt lösning på det?
Jag hade tänkt split:a på # annars.

Medlem sedan juni 2004533 inlägg
#2

Är du säker på att det står "sida.asp?id=8#epost@doman.com" i adressfältet, och inte "sida.asp?id=8%23epost@doman.com"?

Hur går du till sidan? Ifall du använder Response.Redirect och har ankaret med i URL:en så kan sådana problem uppstå. Ankaret ska ju hanteras i webbläsaren och inte komma från servern.

Medlem sedan juni 200032 967 inlägg
#3

Jag är inne på Guffas linje. Ankare skickas nämligen inte överhuvudtaget till webbservern. (Fick jag lära mig nyligen när jag var tvungen att ta omhand alla ankare. Tji fick min uppdragsgivare! ;) )

Medlem sedan apr. 20031 660 inlägg
#4

HEJ!

Det är helt riktigt, jag gör en redirect!
response.redirect "sida.asp?id=" & id & "#" & epost

Vad det står i urlen kan jag inte se, men jag gissar på #, eftersom felmeddelandet innehåller det.
Eller brukar hex-värden skrivas ut korrekt?

Guffa, har du kommit fram till när och varför det uppstår?

Medlem sedan juni 200032 967 inlägg
#5

Prova att skicka användaren vidare med ett javascript istället.

Mvh

Medlem sedan maj 200125 inlägg
#6

Skriv så här:
response.redirect "sida.asp?id=" & id & "&#" & epost

Dvs. lägg till ett &-tecken innan #

/Pelle

Medlem sedan juni 2004533 inlägg
#7

Som sagt så hanteras ankare i webbläsaren. Ifall du ändå skickar med ett ankare ifrån serven så hanterar olika webbläsare det på olika sätt.

:: Opera gör rätt (anser jag i alla fall) och använder det ankare som sidan har från början, och kastar bort det ankare som du skickar ifrån servern.

:: Firefox och Netscape ersätter sidans ankare med det ankare du skickar ifrån servern.

:: Internet Explorer kastar bort det ankare som sidan har från början, använder det ankare du skickar ifrån server, och skickar även med ankaret i querystring.

Enligt din beskrivning så beter sig IE annorlunda när du testat, så det kan ju vara så att beteendet varierar av någon anledning.

Hur som helst så fungerar det inte att skicka ankare ifrån servern. Ifall du vill ha med ett ankare så får du göra som @nders säger och använda javascript.

sonta skrev:

Skriv så här:
response.redirect "sida.asp?id=" & id & "&#" & epost

Dvs. lägg till ett &-tecken innan #

Det löser ju problemet med att värdet på id blir fel, men det gör ju inte att ankaret fungerar.

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)