Avatar billede koch Nybegynder
11. februar 2004 - 20:35 Der er 15 kommentarer og
1 løsning

Hvordan kan document.referrer være tom?

Jeg har en funktion:
function TilbudForside(){
if(document.referrer.indexOf("http://www.enside/underside.html")==-1){document.write("<a href=\"noget\">[AAAA]</a>")}
else{document.write("<a href=\"noget\">[BBBB]</a>")};
}

Der står [AAAA] ligemeget hvor jeg kommer fra. Jeg har indsat en alert(document.referrer) men den er tom! Jeg kommer til siden fra et link i en pop up hvor location=no, men derfor er det jo stadig den fil der referrer dertil? F.eks. http://www.enside.dk/popup.html. Jeg har prøvet at fjerne www i document.referrer, men det hjalp ikke!
Avatar billede erikjacobsen Ekspert
11. februar 2004 - 21:12 #1
Browserer behøver ikke sende en referrer, og firewalls på klientens maskine
kan opsættes så den bliver fjernet. Man kan stort set sige, at den er ubrugelig.
Avatar billede koch Nybegynder
11. februar 2004 - 21:33 #2
Kan jeg på anden måde
Avatar billede koch Nybegynder
11. februar 2004 - 21:37 #3
Ups! Glem bare ovenstående kommentar!
Det er vel heller ikke muligt at sætte en variabel til en værdi når en side indlæses og så ved hjælp af denne bestemme hvad der skal ske?

Så kunne jeg eks. sætte wh=1 når jeg kom ind på en side og have den variabel i et eksternt script og så teste hvad værdien af wh er når jeg er på den side hvor jeg skal vide om der skal stå [AAAA] eller [BBBB]?
Avatar billede roenving Novice
12. februar 2004 - 07:04 #4
Du kan jo sætte den på url'en:

www.enside.dk/dinside.html?wh=1

location.search vil så være = '?wh=1'
Avatar billede koch Nybegynder
12. februar 2004 - 18:31 #5
Jeg er ikke helt med på hvad du mener?!
Avatar billede koch Nybegynder
13. februar 2004 - 00:19 #6
Eller rettere, jeg er ikke helt med på hvordan jeg gør det!
Avatar billede roenving Novice
13. februar 2004 - 08:26 #7
function TilbudForside(){
if(location.search&&location.search.indexOf("wh=1")==-1){document.write("<a href=\"noget\">[AAAA]</a>")}
else{document.write("<a href=\"noget\">[BBBB]</a>")};
}
Avatar billede koch Nybegynder
13. februar 2004 - 14:00 #8
To ting ;o)
Hvorfor er det nødvendigt med location.search&& og ikke bare location.search.indexOf?

Hvordan får jeg tilføjet wh=1 i url´en?!
Avatar billede roenving Novice
14. februar 2004 - 01:33 #9
-- location.search&& er med som en sikkerhedsforanstaltning, så der ikke kommer javascript-fejl, hvis der slet ikke er noget ? i urlen ...

http://www.enside.dk/dinside.html?wh=1 er den måde url'en skal se ud på, når den laves fra den kaldende side ...

-- hvordan du lige får den til at se sådan ud afhænger af hvad og hvordan du kalder !-)
Avatar billede koch Nybegynder
14. februar 2004 - 17:52 #10
function TilbudForside(){
if(location.search.indexOf("wh=1")==-1){document.write("<a href=\"#\">[tilbud]</a>")}
else{document.write("<a href=\"[##]\">[forside]</a>")};

men det virker ikke! har også forsøgt med indexOf("?wh=1"). Hvis jeg fjernet else-delen så skriver funktionen ingenting! Med overnstående skrives funktionen '[forside]' på trods af at 'wh=1' er i url´en!
Har jeg lavet en brøler?
Avatar billede roenving Novice
14. februar 2004 - 18:15 #11
?-)

prøv at indsætte en alert, så du kan debugge:

function TilbudForside(){
alert(location.search);
if(location.search.indexOf("wh=1")==-1){document.write("<a href=\"#\">[tilbud]</a>")}
else{document.write("<a href=\"[##]\">[forside]</a>")};
}
Avatar billede koch Nybegynder
15. februar 2004 - 19:16 #12
Jeg har debugget, men har ikke løst problemet!
Jeg har forsøgt med
function TilbudForside(){alert(location.search)
if(location.search&&location.search.indexOf("?wh=1")==-1){document.write("<a href=\"#\">[forside]</a>")}
else if(location.search&&location.search.indexOf("?wh=2")==-1){document.write("<a href=\"#\">[tilbud]</a>")}
else {document.write("<a href=\"url\">[url]</a>")};
}

Alert-funktionen viser at '?wh=1' men funktionen skriver [tilbud]!

Jeg har et andet sted:
function Open()
        {alert(location.search); if(location.search&&location.search.indexOf("?wh=2")==-1){GalleriWindow=window.open('Galleri[1].html?wh=2')}
        else {GalleriWindow=window.open('Galleri[1].html?wh=1')}
        }

Alert-funktionen viser '?wh=2' men i url´en der åbnes står der '?wh=1' til sidst! Hvad kan det være der går galt? Begge steder gør funktionerne else-delen!
Avatar billede roenving Novice
15. februar 2004 - 19:37 #13
==-1 betyder ikke fundet ...

Hvis du skal teste om det er rigtigt skal du bruge >-1 !-)
Avatar billede koch Nybegynder
15. februar 2004 - 21:32 #14
Fremragende, det virker ;o)
Dvs. at window.close() udføres i nedenstående hvis den sidste side man var på er forskellig fra www.enside.dk?
function Referrer(){
  if(document.referrer.indexOf("www.enside.dk")==-1){window.close();}
  else {noget}
    }

Tak for hjælpen, det er helt kanon ;o) Smid et svar.
Avatar billede roenving Novice
15. februar 2004 - 21:35 #15
Ja, det er det, koden betyder !-)

-- og velbekomme '-)
Avatar billede roenving Novice
17. februar 2004 - 17:39 #16
-- og tak for points ;~}
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