2010-11-04 108 views
3

现在,我学会了如何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?

回答

3

试着这么做:

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"); 
0

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; 
} 
0

功能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; 

}

+2

它总是很好的提供源:[http://snipplr.com/view/799/get-url-variables/](http://snipplr.com/view/ 799/GET-URL变量/) – 2010-11-04 08:43:25

相关问题