Het volgende probleem doet zich voor in een ASP.NET applicatie. Ik weet niet zeker of dit relevant is, voorlopig hou ik het erop dat het een browser probleem is.
Ik heb een app met een interface opgedeeld in een frameset. Nou komt het op een bepaalde plaats voor dat ik naar een pagina verwijs met een url als de volgende:
Volgens bronnen moet zo'n link gewoon kunnen, en als ik er even een pagina van het W3C voor misbruik dan springt ie met querystring erin gewoon naar het juiste hoofdstuk.
In mijn applicatie werkt het echter niet: ik heb op editpage.aspx een <a name="pageitems">tekst</a>, maar als ik in Firefox op de link druk die de bovenstaande URL volgt, springt het beeld niet omlaag naar de aangewezen anchor. (Er is dus wel een scrollbalk en de content valt ruim buiten beeld dus er is ruimte om te verspringen).
In IE is het zelfs nog iets erger: als ik die link volg krijg ik een ASP.NET error waaruit blijkt dat de #anchor niet goed wordt gescheiden van de URL. De "page" parameter wordt nl. gecast tot een integer, en daar treedt een fout op (de parameter bevat dus ook de #pageitems tekst)
Sterker nog, als ik de pagina-eigenschappen bekijk dan is de URL misvormd tot:
Onder Firefox blijft de URL wel gewoon zoals ie hoort.
Als ik in beide browsers dit trucje uitprobeer (niet in een framespagina dus) werkt het gewoon, maar in de context van mijn app niet.
Ik redirect in ASP.NET als volgt:
maar met die code is voor zover ik weet niks mis, dus zoek ik het in de clientside hoek.
Is er een regel dat URLs in frames geen #anchor mogen bevatten, of is dit een browser bug?
Hoe los ik dit op zonder met javascript zelf een 'anchor jumper' te maken? BVD
Ik heb een app met een interface opgedeeld in een frameset. Nou komt het op een bepaalde plaats voor dat ik naar een pagina verwijs met een url als de volgende:
code:
1
| http://localhost/admin/editpage.aspx?page=1#pageitems |
Volgens bronnen moet zo'n link gewoon kunnen, en als ik er even een pagina van het W3C voor misbruik dan springt ie met querystring erin gewoon naar het juiste hoofdstuk.
In mijn applicatie werkt het echter niet: ik heb op editpage.aspx een <a name="pageitems">tekst</a>, maar als ik in Firefox op de link druk die de bovenstaande URL volgt, springt het beeld niet omlaag naar de aangewezen anchor. (Er is dus wel een scrollbalk en de content valt ruim buiten beeld dus er is ruimte om te verspringen).
In IE is het zelfs nog iets erger: als ik die link volg krijg ik een ASP.NET error waaruit blijkt dat de #anchor niet goed wordt gescheiden van de URL. De "page" parameter wordt nl. gecast tot een integer, en daar treedt een fout op (de parameter bevat dus ook de #pageitems tekst)
Sterker nog, als ik de pagina-eigenschappen bekijk dan is de URL misvormd tot:
code:
1
| http://localhost/admin/editpage.aspx?page=1#pageitemspageitems |
Onder Firefox blijft de URL wel gewoon zoals ie hoort.
Als ik in beide browsers dit trucje uitprobeer (niet in een framespagina dus) werkt het gewoon, maar in de context van mijn app niet.
Ik redirect in ASP.NET als volgt:
code:
1
| Response.Redirect("editpage.aspx?page=" & CInt(Request.QueryString("page")) & "#pageitems") |
maar met die code is voor zover ik weet niks mis, dus zoek ik het in de clientside hoek.
Is er een regel dat URLs in frames geen #anchor mogen bevatten, of is dit een browser bug?
Hoe los ik dit op zonder met javascript zelf een 'anchor jumper' te maken? BVD
[ Voor 3% gewijzigd door Not Pingu op 19-01-2005 20:13 ]
Certified smart block developer op de agile darkchain stack. PM voor info.