2010-11-04 24 views
3

Maintenant que j'ai appris comment pass values to an SWF object via flashvars, pourriez-vous s'il vous plaît me guider comment puis-je passer des valeurs d'une chaîne de caractères à javascript?Comment puis-je transmettre des valeurs de la chaîne de requête à javascript?

Qu'est-ce que je veux dire? Dans l'exemple suivant, je code dur le fichier xml à charger dans l'objet SWF.

<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> 

Depuis le fichier Xml est créé dynamique, le xml devrait être chargé de la valeur d'une chaîne de requête. (J'imagine).

mon URL est Supposé http://www.example.com/load.aspx?XmlFile=SomeData

Comment puis-je passer à côté javascript? Comme ..

so.addVariable("xmlPath", "xml/<% SomeData %>.xml"); 

ou tout ce dont il a besoin pour le faire fonctionner. En plus de l'exemple ci-dessus, existe-t-il un moyen de créer le JavaScript, côté serveur?

Répondre

3

Essayez quelque chose comme:

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

et de l'utiliser comme:

so.addVariable("xmlPath", "xml/" + GetQueryString("XmlFile") + ".xml"); 
0

window.location.href contient la chaîne de requête de la page en cours, cela devrait fonctionner:

// 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 fonction ( { var vars = [], hachage; 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

toujours bon de fournir une source: [http://snipplr.com/view/799/get-url-variables/](http://snipplr.com/view/ 799/get-url-variables /) –