Reputation: 8937
So, here's the main code, which checks the URL of the current page for the string ?a= then sets the variable ee_roomname to anything after that.
<script type="text/javascript">
var ee_roomname = unescape(location.href.substring(location.href.lastIndexOf("?a=")+1))
if(ee_roomname.indexOf("?") != -1) ee_roomname = "";
</script>
But what, if I want to add more variables, maybe after this value. For ex. here's a possible url:
Thus, the variable ee_roomname will be set to hijk
Now if we add some more tags, it will look like this:
Now ee_roomname will be set to hijk&b=lmno&c=pqrs, which is not what I want.
I want the code to only track the a variable/parameter's value from the URL.
What needs to be changed, and how, in order to make it work?
Maybe provide a code I can use, too. (not too big fan of "do this and this" and such)
Upvotes: 1
Views: 2272
Reputation: 10530
Try to parse the entire url using this URL Parsing library in JavaScript.
Upvotes: 1
Reputation: 189
to answer the first question, you could also try:
<script>
var query = window.location.search.substring(1);
var getv = query.split("&");
var pair = new Array();
for (var i=0; i < getv.length; i++) {
pair[i] = getv[i].split("=");
}
</script>
pair is an array of all get variables and values like: [["h", "1"], ["g", "2"]] if ?h=1&g=2
hope that helps.
Upvotes: 2
Reputation: 4540
Here is a function to retrieve url parameters
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
How to retrieve the url parameters in your javascript
var first = getUrlVars()["id"];
var second = getUrlVars()["page"];
alert(first);
alert(second);
For your bonus: if you split the string at the '?' and take the first half, that will give you the "pure" absolute url.
Upvotes: 5