Avatar billede kimlarsen1978 Nybegynder
21. december 2005 - 20:36 Der er 12 kommentarer og
1 løsning

Window.location fjern parametre delen

Hejsa
jeg har en url fx.

url = http://www.mydomain.dk/pages/side4.asp?id=876hyt=true

Hvad skal jeg gøre for at få parametrestrengen fjernet så jeg kun har

nyurl = http://www.mydomain.dk/pages/side4.asp

???
Avatar billede nikolajdu Nybegynder
21. december 2005 - 20:45 #1
Avatar billede kimlarsen1978 Nybegynder
21. december 2005 - 20:59 #2
hmmm, det virker nogenlunde...

function reloadNewExternUrl(url){   
var aktuelside = window.location;
window.location.href = aktuelside.split("?")+"?siteUrl="+url;
}

Så redirecter den til http://www.mydomain.dk/pages/side4.asp,?siteUrl=side5.asp

hvorfor sætter den et , ind?

Desuden virker det ikke hvis window.location ikke indeholder et ?'s tegn.
Avatar billede barklund Nybegynder
21. december 2005 - 21:06 #3
Hm, window.location er jo et objekt, der selv har skåret url'en op i alle delene. Jeg tror den nemmeste er at trække window.location.search fra window.location.href som:

function reloadNewExternUrl(url){ 
  var aktuelside = window.location.href.replace(window.location.search, "");
  window.location.href = aktuelside+"?siteUrl="+url;
}

:)

--
Morten Barklund
Avatar billede kimlarsen1978 Nybegynder
21. december 2005 - 21:13 #4
barklund -->> PERFEKT :-)

Svar bitte
Avatar billede barklund Nybegynder
21. december 2005 - 21:18 #5
Cool - det smarteste vil endda nok være kun at lave replace, hvis der rent faktisk er en search-del:

function reloadNewExternUrl(url){
  var aktuelside = window.location.href;
  if (window.location.search) {
    aktuelside = aktuelside.replace(window.location.search, "");
  }
  window.location.href = aktuelside + "?siteUrl=" + url;
}

Måske man i virkeligheden kan nøjes med at erstatte search-delen:

function reloadNewExternUrl(url){
  window.location.search = "?siteUrl=" + url;
}

Men jeg er ikke sikker :)

--
Morten Barklund
Avatar billede barklund Nybegynder
21. december 2005 - 21:18 #6
Og et svar :)
Avatar billede thesurfer Nybegynder
21. december 2005 - 21:34 #7
Hvis man ville bruger window.location.href = aktuelside.split("?")+"?siteUrl="+url;
skulle det være: window.location.href = aktuelside.split("?")[0]+"?siteUrl="+url;

Jeg har indsat "[0]" efter .split("?") ..

Man kunne også bruge substring: aktuelside = aktuelside.substring(0,aktuelside.indexOf("?"))

Linien skal muligvis ende med: indexOf("?") - 1)

/theSurfer
Avatar billede kimlarsen1978 Nybegynder
21. december 2005 - 21:56 #8
Tak for de gode indlæg :-)
Avatar billede barklund Nybegynder
22. december 2005 - 10:57 #9
Og tark for points :)
Avatar billede barklund Nybegynder
22. december 2005 - 10:57 #10
kimlarsen1978: kun det gøres ved kun at ændre .search som i mit sidste forslag? Det vil i så fald være det pæneste :)
Avatar billede barklund Nybegynder
22. december 2005 - 10:58 #11
Måske ændre search og bruge reload :)
Avatar billede kimlarsen1978 Nybegynder
22. december 2005 - 15:44 #12
Ja, jeg gjorde bare således:

function reloadNewExternUrl(url){ 
  var aktuelside = window.location.href.replace(window.location.search, "");
  window.location.href = aktuelside+"?siteUrl="+url;
}

God jul
Avatar billede barklund Nybegynder
22. december 2005 - 15:59 #13
Det var jo ikke mit sidste forslag? Prøvede du ikke det? :)
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