Just nu i M3-nätverket
Gå till innehåll

Skicka in parameter till script?


Badtant

Rekommendera Poster

Hej!

 

Jag skulle vilja skicka in en parameter till ett script via html-koden. Typ såhär:

<script type="text/javascript" src="file.js?w=200"></script>

 

Är det ok, och hur hämtar jag isåfall upp parametern i scriptet?

Länk till kommentar
Dela på andra webbplatser

Så kan du inte göra. I scriptet kan du ha funktioner som du kan anropa med parametrar.

 

Om du menar att du vill skapa js-script mha php/asp, så kan du göra:

 

<script type="text/javascript" src="file.php?w=200"></script>

 

Då kommer file.php att köras på php-servern och resultatet blir en fil som innehåller js-kod - om du har gjort rätt, vill säga... Det är alltid vanskligt att skapa programkod mha av programkod, du måste ha full koll på vad du gör.

Länk till kommentar
Dela på andra webbplatser

Jodå, det går utmärkt. Det finns förvisso ingen funktionalitet som gör det du vill, men eftersom man har tillgång till hela objektträdet så är det bara att extrahera den info man vill ha. I ditt fall för du följande:

1) Ge script-taggen ett ID (i mitt exempel blir det id="incScript")

2) I Javascriptfilen väljer du först script-taggen och därefter extraherar du allt efter frågetecknet i attributet "src"

 

Två rader räcker, jag ger ett exempel med och ett utan jQuery

 

Med jQuery

var src = $("#incScript").attr("src");
var qs=src.replace(/[^\?]+\?(.*)/,"$1");

 

Utan jQuery

var src = document.getElementById("incScript").src;
var qs=src.replace(/[^\?]+\?(.*)/,"$1");

 

 

Include:n ser ut så här:

 <script id="incScript" src="Scripts/default.js?a=1" type="text/javascript"></script>

och qs kommer innehålla strängen "a=1"

Länk till kommentar
Dela på andra webbplatser

Gissningsvis ett script som utför olika saker beroende på indata. Man kan ju tänka sig att lägga till querystringen via serverside-script. Alternativet vore ju att på serversidan manipulera js-filen i sig för olika fall och det undviker man gärna.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...