-2

In my application I want to pass values at the time of initialize JavaScript as follows. do not use any tag or other methods.

<script src="../js/carTravalling.js?uid=Bjkls&appid=1234"  type="text/javascript"></script>

How can I get uid and appid in my JavaScript carTravalling.js file. ?

Elby
  • 1,624
  • 3
  • 23
  • 42

2 Answers2

1

You could do something like this

create a file such as passArgLibrary.js

var passArgLibrary = passArgLibrary || (function(){
    var argumentObject = {};

    return {
        init : function(argumentValues) {
            argumentObject = argumentValues;
            // Add other init if needed
        },
        test : function() {
            alert('Test! -' + argumentObject[0]);
        }
    };
}());

<!-- Would usually use this first line to get the js file but i'm using dropbox for example
<script type="text/javascript" src="passArgLibrary.js"></script> -->
<script src="https://dl.dropboxusercontent.com/u/71030101/passArgLibrary.js"></script>
<script type="text/javascript">
   passArgLibrary.init(["testValue", 1, "testValueID"]);
   passArgLibrary.test();
</script>
YaBCK
  • 2,949
  • 4
  • 32
  • 61
0

I got the answer with help of http://feather.elektrum.org/book/src.htmlenter link description here,

function parseQuery ( query ) {
   var Params = new Object ();
   if ( ! query ) return Params; // return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) continue;
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

        var scripts = document.getElementsByTagName('script');
        var myScript = scripts[0];
        var queryString = myScript.src.replace(/^[^\?]+\??/,'');
        var params = parseQuery( queryString );

        console.log(params.uid+" "+params.appid);
Elby
  • 1,624
  • 3
  • 23
  • 42