Avatar billede znopie Nybegynder
30. marts 2008 - 13:16 Der er 8 kommentarer og
1 løsning

Hjælp med URL

Hvorfor virker det ikke?
Det eneste den skriver er :  document.referrer
selvom den skulle skrive henvisningen.

<script type="text/javascript" src="http://www.EKSEMPEL.dk/?domain=ID_I_DATABASE.dk&referrer='+document.referrer+'&screen='+screen.width+'"></script>
Avatar billede thesurfer Nybegynder
30. marts 2008 - 13:38 #1
Fordi det der står i src ikke er en JavaScript streng.. :-)

Det ville svare til at du skrev

<sc + "ript">

Det giver *ikke* <script>!

Du kan gøre det, at du indsætter scriptet via DOM..

Eksempel

s = document.createElement("script")
s.setAttribute("src", "http://www.EKSEMPEL.dk/?domain=ID_I_DATABASE.dk&referrer="+document.referrer+"&screen="+screen.width);
s.setAttribute("type", "text/javascript");
document.getElementsByTagName("head")[0].appendChild(s);

Jeg kan aldrig huske, om TYPE skal indsættes via

.setAttribute("type", "typen her")

eller

s.type = "typen her"

Koden smider du f.eks. i en onload..

Eksempel:

window.onload = function()
{
s = document.createElement("script")
s.setAttribute("src", "http://www.EKSEMPEL.dk/?domain=ID_I_DATABASE.dk&referrer="+document.referrer+"&screen="+screen.width);
s.setAttribute("type", "text/javascript");
document.getElementsByTagName("head")[0].appendChild(s);
}

Se lige om det ikke virker.. Jeg er nok først tilbage om et par timer.. eller 5..
Avatar billede znopie Nybegynder
30. marts 2008 - 13:55 #2
Kan man ikke gøre sådan her?

<script type="text/javascript">
    referrer     = document.referrer
    screen        = screen.width
    document.write("%3Cscript type='text/javascript' src='http://www.EKSEMPEL.dk/?domain=ID_I_DATABASE.dk&referrer=" + referrer + "&screen=" + screen + "'%3E%3C/script%3E");
</script>
Avatar billede w13 Novice
30. marts 2008 - 16:02 #3
Det _kan_ du, men det er ikke længere god JavaScript-kode. =) The Surfers forslag er den korrekte metode.
Avatar billede olebole Juniormester
30. marts 2008 - 17:03 #4
<ole>

- og det kan man forhåbentlig ikke gøre, alligevel  ;o)
Det giver ikke mening at bruge URL-encodede tegn i JS. Det hedder ikke '%C3', men '\u003c' - og ikke '%E3', men '\u003e'.

- og så giver document.write ingen mening under XHTML, hvor den er en absolut nogo!

Gør i stedet, som thesurfer viser. Man kan dog også klone det script-element, der af gode grunde _må_ være på siden:

var oScr = document.getElementsByTagName("script")[0],
oScr2 = oScr.cloneNode(false);
oScr2.setAttribute("src", "http://www.EKSEMPEL.dk/?domain=ID_I_DATABASE.dk&referrer="+document.referrer+"&screen="+screen.width);
oScr.parentNode.appendChild(oScr2);

/mvh
</bole>
Avatar billede znopie Nybegynder
30. marts 2008 - 17:07 #5
Takker.

Smid et svar
Avatar billede olebole Juniormester
30. marts 2008 - 17:40 #6
Det må vist være surferens  ;o)
Avatar billede thesurfer Nybegynder
30. marts 2008 - 17:46 #7
Haps :-)
Avatar billede thesurfer Nybegynder
30. marts 2008 - 17:47 #8
olebole> Hvad får man ud af at klone script-elementet?
Avatar billede olebole Juniormester
30. marts 2008 - 18:21 #9
thesurfer >> Ikke andet end at man undgår at sætte en attribut - og det er jo en yderst bette julegave at få!  ;o)

Det var bare et eksempel på en alternativ fremgangsmåde. Fremtiden tilhører DOM, men mange kender ikke så meget til DOM, så derfor 'missionerede' jeg bare lidt  ;D
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