"GET" Argumenten voor extern Javascriptsbestand

Status
Niet open voor verdere reacties.

Robbinski12

Gebruiker
Lid geworden
7 apr 2008
Berichten
248
Hoi allemaal,

Bij een van mijn sites is het nodig voor iedere gebruiker een apart javascriptbestand te maken, tenminste, als ik er niet achterkom hoe ik 'GET' variabelen gebruik voor dit Javascriptbestand.

Voorbeeld:
Code:
http://www.domain.com/javascript.js?user=robbinski12

Weet iemand hoe ik in het bestand javascript.js de variable 'user' kan gebruiken, in PHP is het gewoon $_GET['user'] maar is dat hetzelfde bij Javascript of niet?

Met vriendelijke groeten,
Robin Kanters
 
Laatst bewerkt:
je kunt de variables uit de window.location string halen. Je zult wat string-parsing moeten doen om de waarde zelf eruit te halen.

En niet vergeten de waarde nog even door decodeURIComponent() te halen.;)
 
Ja, nadat ik dit onderwerp opende heb ik nog wat doorgezocht en geprobeerd, maar de meeste dingen die ik vind lukken niet.

Dit had ik inmiddels al gelezen, dus de vraag is: hoe doe ik dat?:shocked:

Robin Kanters
 
window.location.search() geeft het gedeelte vanaf het ?. Maar dat is van het adres van de pagina en niet die van het javascript. :confused:

Maar je zou ook zoiets kunnen doen:
PHP:
<script type="text/javascript"> var user = robbinski12;</script>
<script  type="text/javascript" src="http://www.domain.com/javascript.js"></script>
:)


Vr.Gr. Egel.
 
als je een extern javascript bestand in je pagina gebruikt heb je toch nog steeds toegang tot de url van de pagina waar het script draait?

Anders heb je PHP nodig om het JS bestand variables door te geven. Ook een optie trouwens.


Maar volgens mij moet dit werken. Ik heb het getest en het werkt, ook met een extern js bestand.
Code:
var query = window.location.search;
var user = query.replace(/^[?].*?user=(.*?)(&.*?|;.*?)?$/, "$1");
user = decodeURIComponent(user);
 
OK nu snap ik er helemaal niks meer van kijk:

Code:
filename: referothers.js

var query = window.location.search;
var user = query.replace(/^[?].*?user=(.*?)(&.*?|;.*?)?$/, "$1");
user = decodeURIComponent(user);
document.write('<a href="http://<domain>/register.php?u='+user+'" target="_blank"><img src="http://<domain>/c4c.gif" alt="Cash 4 Clicks"/></a>');
Code:
filename: test.php (als test uiteraard)

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
</head>
<body>
<script Language="Javascript" type="text/javascript" src="http://<domain>/referothers.js?user=Robbinski12"></script>
</body>
</html>

Wat is hier fout aan dan (vast een hele stomme fout :P)

Gr. Robin Kanters
 
ohh, je wilt de waarde doorgeven in de link naar je script zelf? Sorry, ik dacht dat je de waarde uit de link naar je html pagina wou halen.

Ik zie het nut daar niet van in eigenlijk. Je kunt dan inderdaad gewoon doen wat Egel liet zien, maar dan kun je de waarde niet doorgeven aan een nieuwe pagina.

Het script wat ik liet zien is hiervoor bedoeld: test.php?user=Robbinski12. Je hoeft in php dan niks meer te doen om de variable door te geven aan het script, het script haalt het uit de url.

Maar als je de waardes niet in je url wilt hebben staan moet je doen wat Egel liet zien ;)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan