2015-05-22 44 views
-2

在我的应用程序中,我想在初始化JavaScript时传递值,如下所示。不要使用任何标签或其他方法。将值传递为javascript中的查询字符串

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

如何在我的JavaScript carTravalling.js文件中获得uid和appid。 ?

+2

为什么你想这样做?我确信有更好的方法去做。 – adricadar

+0

@adricadar雅我知道,但为了简化步骤 – Elby

+1

@Elby我认为我们不能这样做... –

回答

0

我得到的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); 
1

你可以做这样的事情

创建一个文件,如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>

相关问题