Avatar billede wermelin Nybegynder
09. november 2000 - 15:15 Der er 29 kommentarer og
2 løsninger

Browser check-redirection

Jeg har følgende stykke kode:
.
.
var name = navigator.appName
if (name == \"Netscape\")
location.href=\"./netscape/index_nv.html\";
else
location.href=\"./microsoft/index_ie.html\";
.
.

Er det muligt at indstætte et stykke kode der sørger for at der kun bliver redirected efter fx. 5 sek og ikke øjeblikkeligt???
Måske noget i retningen af http-equiv=\"refresh\" content=\"5;???
Avatar billede melgaard Nybegynder
09. november 2000 - 15:25 #1
Hejsa!

Du kunne kigge lidt på setTimeOut(udtryk,tid), fx setTimeOut(redir_ns(),5) eller noget lignende...

/melgaard
Avatar billede cthun Nybegynder
09. november 2000 - 15:26 #2
Du kan jo lave en startside der refresher efter 5 sek. til en anden side som så har dit JavaScript

Du refresher din side ved at skrive:
<meta http-equiv=\"Refresh\" content=\"3; url=fil.html\">

ps. Husk det skal stå mellem <head> </head>

Cthun ;-)
Avatar billede cthun Nybegynder
09. november 2000 - 15:27 #3
Undskyld

<meta http-equiv=\"Refresh\" content=\"5; url=fil.html\">
Avatar billede wermelin Nybegynder
09. november 2000 - 15:30 #4
Lyder spændende, men jeg kan ikke få det til at virke.. måske fordi jeg ikke ved hvor det skal sættes ind???
Avatar billede wermelin Nybegynder
09. november 2000 - 15:32 #5
Det var til melgaard!
Avatar billede cthun Nybegynder
09. november 2000 - 15:33 #6
Så prøv da det med meta\'en, det virker 100%
Avatar billede wermelin Nybegynder
09. november 2000 - 15:36 #7
Ja, det ved jeg virker - men det andet kunne jo have været lidt smart... men okay - jeg laver bare en extra side!
Avatar billede wermelin Nybegynder
09. november 2000 - 15:38 #8
Håber det er okay at I deler pointene!(?)
Avatar billede melgaard Nybegynder
09. november 2000 - 15:38 #9
Hejsa!

Prøv dette:

function redir_ns()
{
  location.href=\"..blah\";
}

if (name == \"Netscape)
  setTimeOut(redir_ns(),5)
else
  setTimeOut(redir_ie(),5)

... noget i den stil.

/melgaard
Avatar billede wermelin Nybegynder
09. november 2000 - 15:39 #10
Jeg venter lige lidt med pointene...
Avatar billede cthun Nybegynder
09. november 2000 - 15:40 #11
wermelin>> Der var du hurtig!
Avatar billede melgaard Nybegynder
09. november 2000 - 15:41 #12
Hejsa!

Jeg har ikke testet det, men det burde virke i teorien :) Og husk lige at rette mine slåfejl, heh.

/melgaard
Avatar billede wermelin Nybegynder
09. november 2000 - 15:51 #13
melgaard:
Jeg har prøvet - men det fungerer ikke i praksis!

<SCRIPT LANGUAGE=\"JavaScript\">

function redir_ns()
{
  location.href=\"./netscape/index_nv.html\";
}
function redir_ie()
{
  location.href=\"./microsoft/index_ie.html\";
}
var name = navigator.appName
if (name == \"Netscape\")
  setTimeOut(redir_ns(),5)
else
  setTimeOut(redir_ie(),5)

</SCRIPT>

Hvad er der i vejen??
Avatar billede melgaard Nybegynder
09. november 2000 - 16:01 #14
Hejsa!

Koden virker fint... timeout-værdien skal dog være 5000 (da den måles i msecs, altså 5->5000).

Den redirecter fint til index_ie.html på min maskine - men skal du ikke checke på om \"Netscape\" er indeholdt i name? Jeg tror nærmere strengen er i stil med \"Netscape Navigator 4.5\" etc.

Håber du forstår budskabet...

/melgaard
Avatar billede melgaard Nybegynder
09. november 2000 - 16:03 #15
Hejsa!

Hmm, det lader til du har ret med at checke på \"Netscape\" - jeg slog det lige op.

NN: Netscape
IE: Microsoft Internet Explorer

:)

/melgaard
Avatar billede wermelin Nybegynder
09. november 2000 - 16:11 #16
Hmm..... jeg kan sgu ikke lige få det til at køre!
I netscape redirecter den slet ikke - i explorer redirecter den fint, men ikke efter 5 sek, men derimod med det samme!!

Jeg sætter mig til at rode mere med det i aften - du skal nok få dine point melgaard - jeg lader dog spørgsmålet stå åben lidt endnu!
Avatar billede el_gnu Nybegynder
09. november 2000 - 16:45 #17
fejlen ligger i det første argument til setTimeout() det skal være en streng og ikke en funktion.
<SCRIPT LANGUAGE=\"JavaScript\">

function redir_ns()
{
  location.href=\"./netscape/index_nv.html\";
}
function redir_ie()
{
  location.href=\"./microsoft/index_ie.html\";
}
var name = navigator.appName
if (name == \"Netscape\")
  setTimeOut(\"redir_ns()\",5)
else
  setTimeOut(\"redir_ie()\",5)

</SCRIPT>

( )
00///////>
~  /\\  /\\
Avatar billede el_gnu Nybegynder
09. november 2000 - 16:46 #18
men andet argument skal stadig være i millisekunder altså 5000
Avatar billede melgaard Nybegynder
09. november 2000 - 17:39 #19
Hejsa!

Jeg har nu brugt setInterval istedet - og det virker. Den kan bruges i IE4+NN4:

<SCRIPT LANGUAGE=\"JavaScript\">
function redir_ns()
{
  location.href=\"./netscape/index_nv.html\";
}
function redir_ie()
{
  location.href=\"./microsoft/index_ie.html\";
}
var name = navigator.appName;
if (name == \"Netscape\")
  setInterval(\"redir_ns()\",5000)
else
  setInterval(\"redir_ns()\",5000)
</SCRIPT>

Håber du kan bruge det.

/melgaard
Avatar billede el_gnu Nybegynder
09. november 2000 - 18:00 #20
hvorfor setInterval() i stedet for setTimeout()?
Avatar billede wermelin Nybegynder
09. november 2000 - 18:16 #21
el_gnu: Jeg kan ikke få din version til at virke! Der står at \"et objekt var ventet\" mht. setTimeOut funktionen!(??)

melgaard: Din nye version kan jeg godt få til at virke! Ved du om mange bruger ældre versioner end NN4 og IE4??
Avatar billede el_gnu Nybegynder
09. november 2000 - 18:38 #22
Det kunne være fordi funktionen ikke hedder setTimeOut(), men derimod setTimeout(), hvilket burde give problemer i hvertfald i NS.
Avatar billede wermelin Nybegynder
09. november 2000 - 18:48 #23
el_gnu: Perfekt! Nu virker det :o) Herligt at Java er case-sensetive!!

Jeg har valgt at dele pointene mellem jer to - altså melgaard og el_gnu! Håber ingen af jer føler jer snydt..!(??)

Og tusind tak for hjælpen!!
Avatar billede el_gnu Nybegynder
09. november 2000 - 18:53 #24
glad for at hjælpe, men liiige en lille kommentar:
Du skriver \"Herligt at Java er case-sensetive\", men nu er det altså JavaScript vi bruger her og ikke java! Men du har ret, java er case-sensitive, hvilket JavaScript også (for det meste) er :-)
Avatar billede wermelin Nybegynder
09. november 2000 - 18:54 #25
Ja - java og javascript hænger jo alligevel ret tæt sammen, men okay; min fejl :o)
Avatar billede el_gnu Nybegynder
09. november 2000 - 18:56 #26
hmm, efter min mening er forskellen nu enorm og de havde fra begyndelsen intet andet end deres rødder i C/C++ tilfælles, så den store sammenhæng kan være svær at få øje på
Avatar billede wermelin Nybegynder
09. november 2000 - 18:58 #27
Hmm... okay! Jeg er ikke den store programmeringshaj - så jeg tror bare jeg lader dig få ret :o)

Du kan i øvrigt se hvad det hele skulle bruges til på denne side:
www.wermelin-webdesign.dk

Du må gerne give noget feedback hvis du får tid.

Mvh
Mads Wermelin
Avatar billede el_gnu Nybegynder
09. november 2000 - 19:10 #28
Ganske pæn og enkel site og preloaderen er fiks :-)

jeg synes dog at tekstspalterne er for brede og uoverskuelige, så måske en større margin eller to spalter ville være rarere at se på.

Måske også du skulle tage højde for \"ghosts\" eller hvad man skal kalde den ramme der kommer ved tryk på et link. Det kan gøres med onFocus=\"this.blur()\".

Et par kommetarer fra en gut der ikke fatter en døjt design :-)

( )
00///////>
~  /\\  /\\
Avatar billede wermelin Nybegynder
09. november 2000 - 19:14 #29
Mange tak for tiden!
Det er taget til efterretning - jeg skal se hvad jeg kan gøre! Det med \"ghosts\" lyder spændende...

(.... om 3 timer kommer der et nyt spørgsmål til eksperten:\"Hvordan bruger man onFocus....\")

:o)
Avatar billede engrob Nybegynder
09. november 2000 - 19:18 #30
Hvis du vil bruge onFocus skal du bare sætte det ind i dit link.

<a href=\"#\" onFocus=\"this.blur()\">LINK</a>
Avatar billede wermelin Nybegynder
09. november 2000 - 19:20 #31
Okay - jamen tak for hjælpen!
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