可能重複:
JavaScript query stringJavaScript - 如何從腳本內容中檢索src =「」url?
我想訪問連接到我的腳本URL查詢變量。因此,例如:
<script type="text/javascript" src="http://mysite.com/app.js?var1=value1&var2=value2"></script>
在app.js,我怎麼訪問VAR1和VAR2值?
可能重複:
JavaScript query stringJavaScript - 如何從腳本內容中檢索src =「」url?
我想訪問連接到我的腳本URL查詢變量。因此,例如:
<script type="text/javascript" src="http://mysite.com/app.js?var1=value1&var2=value2"></script>
在app.js,我怎麼訪問VAR1和VAR2值?
This page describes a method用於獲得這些值:
<script type="text/javascript"
src="scriptaculous.js?load=effects,builder"></script>
和JavaScript:
function getJSvars(script_name, var_name, if_empty) {
var script_elements = document.getElementsByTagName(‘script’);
if(if_empty == null) {
var if_empty = 」;
}
for (a = 0; a < script_elements.length; a++) {
var source_string = script_elements[a].src;
if(source_string.indexOf(script_name)>=0) {
var_name = var_name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regex_string = new RegExp("[\\?&]"+var_name+"=([^&#]*)");
var parsed_vars = regex_string.exec(source_string);
if(parsed_vars == null) { return if_empty; }
else { return parsed_vars[1]; }
}
}
}
挑選此答案,因爲它是一個自包含的功能,很容易下降:) – Joe
解析src
屬性,大致如下:
var src=document.getELementById("script-id").getAttribute("src");
var query=src.substring(src.indexOf("?"));
var query_vals=query.split("&");
var queries={};
for (var i=0;i<query_vals.length;i++) {
var name_val=query_vals.split("=");
queries[name_val[0]]=name_val[1];
}
console.log(queries.var1, queries.var2);
但是,有庫如作爲url.js這是一個更好的選擇,這樣做,更強大的網址編碼等。
我不認爲這是一個確切的副本。提供的可能的副本只是詢問如何操作JavaScript中的查詢字符串 - 此問題特定於腳本標記。 – mcknz