Avatar billede hoppe11 Nybegynder
21. november 2007 - 19:00 Der er 22 kommentarer og
1 løsning

tilføje string til url uden at reloade

hvordan er det muligt at tilføje yderligere tekst i url'en uden at reloade siden?

jeg vil gerne tilføje et bogmærke url'en

eks.
http://www.noget.dk/hej.php?kat=2
->
http://www.noget.dk/hej.php?kat=2#bookmark
Avatar billede hoppe11 Nybegynder
21. november 2007 - 19:02 #1
eller.. mit formål er i hvert fald at hoppe ned til mit bogmærke :)

min efterspørgsel er sikkert ikke den mest optimale måde at gøre det på, men har ingen ide om hvordan det ellers gøres?
Avatar billede kongknabe Nybegynder
21. november 2007 - 19:06 #2
Dette gør du ganske simpelt ved at lave et link der ser ud som følger: <a href="#bookmark">Bookmark</a> og så der hvor du gerne vil have at siden skal springe til skriver du <a name="bookmark"></a>...

Dog skal du være opmærksom på at IE hvis ikke kan finde ud af dette ordentligt... Altså.. hvis en person indtaster fælgende URl i sin browser:

http://www.noget.dk/hej.php?kat=2#bookmark

- burde de loade siden og med det samme springe ned til det rigtige sted på siden, men det gør den så vidt jeg husker ikke... Det virker dog i alle andre browsere (og selvfølgelig også i IE hvis folk trykker på linket "Bookmark")
Avatar billede hoppe11 Nybegynder
21. november 2007 - 19:53 #3
jamen jeg skal lave det som et script i en onload i min body.. hvordan gør jeg det?
Avatar billede w13 Novice
21. november 2007 - 20:10 #4
Det kan du - så vidt jeg ved - ikke. Du kan ikke bare lave det som link?
Avatar billede kongknabe Nybegynder
21. november 2007 - 20:10 #5
Ahh ok, jamen i så fald kan du evt. gøre noget med window.location.href = '#bookmarks'; - Men husker ikke syntaxen præcis... (Hvis du googler på "javascript location.href" bør du kunne finde svar på hvordan :-))
Avatar billede w13 Novice
21. november 2007 - 20:12 #6
Hmmm, så vidt jeg kan se, fungerer det, hvis man tilføjer #bookmarks til den allerede eksisterende window.location.href
Den loader altså ikke siden igen.
Avatar billede w13 Novice
21. november 2007 - 20:13 #7
Dvs.:
window.location.href=window.location.href+"#bookmark"
Avatar billede w13 Novice
21. november 2007 - 20:14 #8
Eller endnu bedre:
window.location.href+="#bookmark"
Avatar billede hoppe11 Nybegynder
21. november 2007 - 20:26 #9
men må jeg lige spørge hvad window propertien gør, eller måske nærmere hvad den er?
Avatar billede hoppe11 Nybegynder
21. november 2007 - 20:31 #10
For noget andet

Jeg befinder mig et sted i min <body></body>.. Hvordan er det muligt herfra at skrive til en onload på selve body tag'et?

Min side er bygget op over en top.php og bottom.php, hvor henholdsvis start og end taget er i hver sin fil.. Det er altså et sted imellem at jeg har en statement der gør at man skal gå til #bookmark
Avatar billede w13 Novice
21. november 2007 - 21:01 #11
Du skriver til onload sådan her:
--------------------------------
<script type="text/javascript">
window.onload=function(){
  //funktionen her
}
</script>
--------------------------------

Window-tag'et kan bruges til mange ting.

Hvis du tænker på, hvorfor jeg ikke bare skriver "location.href" i stedet for "window.location.href", så er det, fordi "location.href" er en genvej, men selvom den er hurtigere at skrive, er den langsommere for browseren at udføre, fordi den først skal finde ud af, at det er en funktion knyttet til "window". Så det er bedst at skrive "window.location.href".
Avatar billede hoppe11 Nybegynder
22. november 2007 - 16:39 #12
smid et svar w13 :)

mange tak for hjælpen
Avatar billede w13 Novice
22. november 2007 - 16:42 #13
Ok :)
Avatar billede hoppe11 Nybegynder
22. november 2007 - 17:37 #14
jeg har egentlig lige en ting mere som har med emnet at gøre som jeg håber du kan svare på

parent.location.href = 'http://www.noget.dk/side.htm?hus=stort';

her er det som om den bare loader fra temp inet files, eller er det mig der laver en fejl? jeg vil gerne have den til at refreshe siden
Avatar billede w13 Novice
22. november 2007 - 17:44 #15
Du kan også bare bruge:

parent.location.reload(true);

Men hvis din side er sat til at gemme i cache, så viser den muligvis ikke nyt indhold.
Avatar billede roenving Novice
24. november 2007 - 14:53 #16
Hvis du bare vil sætte et bookmark ind i url'en, kan du bare:

location.hash = "bookmark" !-)
Avatar billede w13 Novice
24. november 2007 - 17:14 #17
Smart. =)
Avatar billede w13 Novice
24. november 2007 - 17:19 #18
Jeg ville dog stadig henvise location til window-objektet, så den ikke selv skal finde det. =)
Avatar billede roenving Novice
24. november 2007 - 17:29 #19
-- gammel vane, der betyder at forældede browsere også får fat i location-objektet !-)
Avatar billede w13 Novice
24. november 2007 - 17:32 #20
Nå ok. Hm. Jamen så lærte jeg det. =)
Avatar billede roenving Novice
24. november 2007 - 17:44 #21
-- i de allerførste javascript-implementeringer, var DOM-modellen bare en skitse, og der var en lang stribe 'fritsvævende' objekter, bl.a. location og history !-)
Avatar billede hoppe11 Nybegynder
25. november 2007 - 12:01 #22
vil det sige at man bare undlader window?

altså

location.href

i stedet for

window.location.href
Avatar billede roenving Novice
25. november 2007 - 12:15 #23
Resultatet i en nogenlunde ny browser er præcis det samme, men det kan ikke afvises, at det globale scope, som window er, en dag vil blive ændret, så det bliver nødvendigt at bruge den igen (men jeg tvivler på, at det lige bliver i morgen eller om 20 år !-)
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