webForumDet fria alternativet

anchorproblem

20 svar · 2 034 visningar · startad av Rob Tjotj

Rob TjotjMedlem sedan okt. 200591 inlägg
#1

Hej

jag har problem med att anropa ett anchor när jag länkar till en ny sida

Följande fungerar utmärkt:

<a name="view" id="view">
<a href="#view">gå till view</a>

Men inget av följande fungerar:

<a href="sida.asp#view">gå till view</a>
<a href="sida.asp?id=1#view">gå till view</a>
<a href="sida.asp#view?id=1">gå till view</a>

Finns det goto funktion i asp?
Har det med webbblsaren att göra (IE8)?
Eller rättare sagt hur löser jag det?

Jag har provat flera alternativ med javascipt utan resultat.

Tack på förhand

voigtann1Medlem sedan juni 20019 519 inlägg
#2

det räcker att du har ett element med ett ID med namnet view, men du få också se till att det bara finns ett element med det id värdet.

<a href="sida.asp#view">gå till view</a>
<a href="sida.asp?id=1#view">gå till view</a>

Dessa två exemplen skall fungera.

Flyttar tråden till HTML.

Rob TjotjMedlem sedan okt. 200591 inlägg
#3

Problemet är att det inte gör det.

Fungerar klockrent i Crome men inte i IE.
Det verkar som att IE försöker ibland.
Någon enstaka ggn hittar den rätt ibland bara halvvägs.
Har det med tid att göra?
Det är en bildsida men tar bara någon sekund att ladda.

Om jag går till

<a href="sida.asp?id=1">gå till view</a>

och sen klickar på

<a href="#view">gå till view</a>

Så ser url rätt ut men inte när jag går direkt.
http//www.domän.se/sida.asp?id=1#view
Det verkar ha med webbläsaren att göra alltså.

Varför jag la denna tråd i ASP trädet var frågan om det finns en goto funktion i asp?

Hur löser man det i IE?

voigtann1Medlem sedan juni 20019 519 inlägg
#4

vad jag vet så finns det inte någon goto funktion i ASP. VB och VBA har det, men har aldrig sett det i ASP.

jag kan inte återskapa ditt problem:

http://voigt.se/sandbox/wf/Rob_Tjotj/

http://voigt.se/sandbox/wf/Rob_Tjotj/#view

testat i IE10, IE9 och IE8

@ndersMedlem sedan juni 200032 969 inlägg
#5

ASP är ju en serverteknik, så det enda "goto"-aktigt man kan kasta fram är genererad HTML- eller javascriptkod.

Rob TjotjMedlem sedan okt. 200591 inlägg
#6

voigtann1 skrev:

vad jag vet så finns det inte någon goto funktion i ASP. VB och VBA har det, men har aldrig sett det i ASP.

jag kan inte återskapa ditt problem:

http://voigt.se/sandbox/wf/Rob_Tjotj/

http://voigt.se/sandbox/wf/Rob_Tjotj/#view

testat i IE10, IE9 och IE8

<a href="#view"> goto </A> fungerar för mig med men inte <a href="sida.asp#view"> goto </A>

Testa gärna sidan
http://hampusmalmgren.se/bilder.asp
sen är länkarna i pagingen och på tumnaglarna.

@ndersMedlem sedan juni 200032 969 inlägg
#7

Den adressen verkar inte vara rätt - ingen av mina webbläsare hittar dit i alla fall...

mvh

Rob TjotjMedlem sedan okt. 200591 inlägg
#8

Sorry.
Rätt http://hampusmalmgren.com/bilder.asp

voigtann1Medlem sedan juni 20019 519 inlägg
#9

fungera för mig kopiera och klistra in http://hampusmalmgren.com/bilder.asp?show=6#view

ctrl+f5 hoppar också ner till #view

@ndersMedlem sedan juni 200032 969 inlägg
#10

Funkar för mig också i IE.

Rob TjotjMedlem sedan okt. 200591 inlägg
#11

Sorry, fungerar inte för mig.
Då måste det vara i IE8 då Crome fungerar.
Bilderna fungerar men inte pagingen.

@ndersMedlem sedan juni 200032 969 inlägg
#12

Hm, nej - du har rätt. Det funkar inte med pagingen för mig heller.

voigtann1Medlem sedan juni 20019 519 inlägg
#13

förmodligen IE8 som inte har det implementerat när du få en helt ny sida, du har lite felaktig HTML kod också </tr> för mycket och ett li element efter din avslutande ul, inte för att det förmodligen kommer hjälpa. Om du måste ha det så gå det rätt enkelt att lösa med jQuery, kolla om du ha en hash när sidan laddas in och hitta elementet med samma id, ta reda på dess offset och använd dess värde scrollTop på $('html, body')

@ndersMedlem sedan juni 200032 969 inlägg
#14

Jag kör IE9 - så där funkar det inte heller.

Rob TjotjMedlem sedan okt. 200591 inlägg
#15

voigtann1 skrev:

förmodligen IE8 som inte har det implementerat när du få en helt ny sida, du har lite felaktig HTML kod också </tr> för mycket och ett li element efter din avslutande ul, inte för att det förmodligen kommer hjälpa. Om du måste ha det så gå det rätt enkelt att lösa med jQuery, kolla om du ha en hash när sidan laddas in och hitta elementet med samma id, ta reda på dess offset och använd dess värde scrollTop på $('html, body')

Nu har jag sökt och provat ett antal men jag gör nog något fel.
jag förstår inte JS och jag får jsQuery undefind eller ingen funktion alls så jag gör nog nåt fel.

Kan du tipsa om skript och kod?

voigtann1Medlem sedan juni 20019 519 inlägg
#16

vad har du försökt?
har du inkluderat jquery?

Rob TjotjMedlem sedan okt. 200591 inlägg
#17

voigtann1 skrev:

vad har du försökt?
har du inkluderat jquery?

Jag har provat flera.
Ja jag har lagt till jquery.se i en mapp som heter js
Jag har lagt till <script src="js/jquery.js"></script>.
Jag har lagt till <script src="js/jquery.scrolltop-min.js"></script> eller andra jag provat.
samt att jag lagt till ett javascript därefter.

Men som sagt nåt gör jag fel och förstår inte riktigt.

voigtann1Medlem sedan juni 20019 519 inlägg
#18

du har ju bara inkluderat jquery och ett plugin, du behöver aktivera det också.

Dock behöver du bara jquery:

$(function() {
	var el = $(document.location.hash);
	if(el) {
		$(document).scrollTop( el.offset().top );  
	}
});
Rob TjotjMedlem sedan okt. 200591 inlägg
#19

Efter att ha provat mig less utan att få det att fungera med jscript provad jag följande som fungerar utmärkt

<% IF request.querystring("show") <> "" then ankare = " onLoad=""window.location.href='#view';""" %>
<body<%= ankare %>>

Det skulle väl gå att söka efter # och returnera värdet därefter om man har flera ankare å sidan.

Tyck till om lösningen.
Finns det enklare lösning ex. typ onLoad="window.location.href=location.hash;"?

voigtann1Medlem sedan juni 20019 519 inlägg
#20

Rob Tjotj skrev:

Efter att ha provat mig less utan att få det att fungera med jscript provad jag följande som fungerar utmärkt

<% IF request.querystring("show") <> "" then ankare = " onLoad=""window.location.href='#view';""" %>
<body<%= ankare %>>

Det skulle väl gå att söka efter # och returnera värdet därefter om man har flera ankare å sidan.

Tyck till om lösningen.
Finns det enklare lösning ex. typ onLoad="window.location.href=location.hash;"?

Vad är så omständigt med din och min kod? http://voigt.se/sandbox/wf/Rob_Tjotj/#view fungera bara att kopiera rakt av, så vet inte alls vad du har försökt, är lite svårt att hjälpa när man säger "jag har försökt, mne inget fungera" utan att berätta vad du har försökt att göra.

#view borde fungera, men window.location.hash är ju redan satt till #view så är rätt säker på att det inte kommer hända något.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)