Avatar billede jekk Nybegynder
26. juli 2002 - 01:09 Der er 18 kommentarer og
1 løsning

Redirect uden asp

<html>
<head>
jeg bruger idag nedenstående "teknik" til at lave redirection, men det er i et WEB-hotel, der tillader asp -

kan man lave betinget redirection med javascript ?
jeg har to domænenavn, der havner i savne WEB-hotel, de skal vise hver sin startside -
jeg vil derfor redirecte dem hver for sig til sin undermappen i hotellet - alt efter hvad brugeren har tastet - eks. www.side1.dk eller www.side2.dk
kan med udføre betinget redirection med javascript alene ???
----------------------

<script>
function redirect()
{location.href ="index.asp";}
</script>
</head>
<body onload="java script:redirect()"></body></html>
</BODY>
</HTML>
Avatar billede bamzen Nybegynder
26. juli 2002 - 08:58 #1
Hvad med noget ala

<SCRIPT LANGUAGE=JavScript>
MyLoc = document.location.href
if(MyLoc.indexOf("mitfoerstedomaene")>-1){
document.location = 'side1.html'
}else{
document.location = 'side2.html'

}


</SCRIPT>

/Martin
Avatar billede jekk Nybegynder
26. juli 2002 - 12:33 #2
bamzen >>
jeg prøvede at erstatte "mitfoerstedomaene" med et af mine domænenavne og så pakkede jeg det hele ind i
mit oprindelige function redirect()
plus <body onload="java script:redirect()">
men det virkede ikke ! ?

vil document.location.href indeholde www.mitdomæne.dk eller mitdomæne ... har prøvet forskellige varianter uden virkning ...
Avatar billede bamzen Nybegynder
26. juli 2002 - 13:19 #3
Virkede det uden at du ændrede andet end "mitfoerstedomaene"

er ikke sikker på hvorvidt du må kalde din funktion redirect

du kan teste hvad der er i din href, samt om den kan finde det du eftersøger, ved at skrive

myHref =document.location.href
alert(Myhref+'\n'+myHref.indexOf("mitfoerstedomaene"))
Avatar billede bamzen Nybegynder
26. juli 2002 - 13:20 #4
og du må ikke sige <BODY onLoad=java script:redirect()> da onLoad allerede er en JavaScript handler....

prøv at rette til

<BODY onLoad=redirect()>

/Martin
Avatar billede jekk Nybegynder
26. juli 2002 - 13:54 #5
bamzen >>

kan du ikke skære det ud i pap for mig -
mit problem er - hvordan får jeg gjort scriptet aktivt , så alert ... viser Myhref !!!
jeg har prøvet at placere
<SCRIPT LANGUAGE=JavScript>
myHref =document.location.href
alert(Myhref+'\n'+myHref.indexOf("mitfoerstedomaene"))
</SCRIPT>
imellem <head>-tags
og efter <body>
jeg får ingen alert ! ?
Avatar billede bamzen Nybegynder
26. juli 2002 - 14:14 #6
fordi jeg er DÅM!


<HTML>
<HEAD>
<SCRIPT LANGUAGE=JavaScript>
function doRedir(){

myHref =document.location.href
alert(myHref+'\n'+myHref.indexOf("mitfoerstedomaene"))
}
</SCRIPT>
</HEAD>
<BODY onLoad=doRedir()>

</BODY>
</HTML>

Hvad så nu

(før havde jeg lavet en fejl da jeg i alerten skrev Myhref hvor der sku ha stået myHref)
Avatar billede jekk Nybegynder
26. juli 2002 - 14:49 #7
nu får jeg den savnede information via alert, nemlig hele adresse med http://www.mitdomæne.dk
jeg har nu afprøvet at udskifte alert-linie med din tidligere fremsendte kode:

if(myHref.indexOf("http://www.mitdomæne.dk")>-1){
document.location = 'side1.html'
}else{
document.location = 'side2.html'
}
-----------------
men uanset hvilke af de 2 domæne-navne jeg putter i browseren, så vælges
document.location = 'side1.html'

???
jeg kom et lille skridt videre men "skiftesporet" virker ikke ?
Avatar billede bamzen Nybegynder
26. juli 2002 - 15:05 #8
i alerten skulle du have haft to linier

en med et stien fra browseren, og en med et tal?
Avatar billede bamzen Nybegynder
26. juli 2002 - 15:05 #9
hvad er tallet?
Avatar billede jekk Nybegynder
26. juli 2002 - 15:23 #10
der var -1
Avatar billede bamzen Nybegynder
26. juli 2002 - 15:28 #11
hmmmmm, så er det jo derfor det ikke vil.....

to sekunder, prøver at finde ud af hvorfor
Avatar billede bamzen Nybegynder
26. juli 2002 - 15:31 #12
prøv at ændre denne linie

if(myHref.indexOf("http://www.mitdomæne.dk")>-1){

til

if(myHref.indexOf(\"http://www.mitdomæne.dk\")>-1){

og hvad er dine domæner i øvrigt, jeg er ved at blive nysgerrig
;-)
Avatar billede bamzen Nybegynder
26. juli 2002 - 15:31 #13
husk at det er det sekundære domæne du tjekker på ;-), ikke det primære ;-)
Avatar billede jekk Nybegynder
26. juli 2002 - 15:55 #14
bamzen >>
inden jeg prøveskyder din ændring
så lad mig lige få en afklaring på
if(myHref.indexOf(\"http://www.mitdomæne.dk\")>-1){
er der rigtigt at første backslash skal være før " og den anden inden " ???
Avatar billede bamzen Nybegynder
26. juli 2002 - 15:57 #15
ja, backslash betyder at det næste tegn er en special karakter
Avatar billede bamzen Nybegynder
26. juli 2002 - 15:57 #16
så begge gange er den før "
Avatar billede bamzen Nybegynder
26. juli 2002 - 16:48 #17
Nu håber jeg det virker for dig, for jeg har lige straks fri!
Avatar billede jekk Nybegynder
26. juli 2002 - 22:19 #18
Tak for hjælpen - nu har jeg fået det til at virke -
jeg rettede:
if(myHref.indexOf(\"http://www.mitdomæne.dk\")>-1){
til
if(myHref.indexOf('http://www.mitdomæne.dk')>-1){

jeg havde koblet det sammen i mit oprindelse index.htm, således at hvis det ikke var det sekundære domænenavn, så ville den bare fortsætte i index.htm, men det havde den underlige virk, at når jeg brugte sekundær domæne, så viste den først siden med hoved domænet inden den skiftede ... ?

keg efterlignede blot min oprindelige asp-redirect-kode-løsning, anvendt i anden sammenhæng - så med din kode med redirecet i domæne-indeks.htm uden side opbygning, som lå adskilt i 2 andre html'er, så virkede det perfekt ...
tak !

nu skal jeg bare se at få lært mere om dette hersens javascript - måske ligger der en reference-manual et eller andet sted på nette...
Avatar billede jekk Nybegynder
26. juli 2002 - 22:21 #19
tak
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