如何将查询字符串的值传递给javascript?
问题描述:
现在,我学会了如何pass values to an SWF object via flashvars,请你指导我如何传递值从查询字符串到JavaScript?如何将查询字符串的值传递给javascript?
我是什么意思?在下面的示例中,我对要加载到SWF对象中的xml文件进行硬编码。
<script type="text/javascript">
var so = new SWFObject("preview.swf", "", "100%", "100%", "9", "#ffffff");
so.addParam("allowFullScreen", "true");
so.addParam("scale", "noscale");
so.addParam("menu", "false");
so.addVariable("xmlPath", "xml/exampleData.xml");
so.write("flashcontent");
</script>
由于创建动态XML文件中,XML应当从一个查询字符串的值加载。 (我猜)。
假设我的网址http://www.example.com/load.aspx?XmlFile=SomeData
我怎样才能把它传递给JavaScript端?像..
so.addVariable("xmlPath", "xml/<% SomeData %>.xml");
或任何它需要使它工作。
更新:除了上面的例子,有什么办法在服务器端创建JavaScript?
答
试着这么做:
function GetQueryString(param)
{
var url = window.location.search.substring(1);
var params = url.split("&");
for (i=0;i<params.length;i++)
{
var p = params[i].split("=");
if (p[0] == param)
{
return p[1];
}
}
}
而且使用它像:
so.addVariable("xmlPath", "xml/" + GetQueryString("XmlFile") + ".xml");
答
window.location.href
包含当前页面的查询字符串,这应该工作:
// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
答
功能getUrlVars( ) var vars = [],hash; var hashes = window.location.href.slice(window.location.href.indexOf('?')+ 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
它总是很好的提供源:[http://snipplr.com/view/799/get-url-variables/](http://snipplr.com/view/ 799/GET-URL变量/) – 2010-11-04 08:43:25