2009-03-14 7 views
3

J'ai besoin de mon XSL pour ajouter du contenu dynamique à un bloc javascript. Je me demande si c'est possible. Voici un exemple de ce que je veux faire. Le code suivant ne fonctionne pas:Balises XSL dans le bloc javascript

<script> 
    // Loads the video. 
    var s1 = new SWFObject("player-viral.swf","ply","670","350","9","#ffffff"); 
    s1.addParam("allowfullscreen","true"); 
    s1.addParam("allownetworking","all"); 
    s1.addParam("allowscriptaccess","always"); 
    s1.addParam("flashvars","file=/Portals/0/<xsl:value-of select="MediaUrlFolder"/><xsl:value-of select="ImageUrlFileName"/>&image=/Portals/0/<xsl:value-of select="ImageUrlFolder"/><xsl:value-of select="ImageUrlFileName"/>"); 
    s1.write("container"); 
</script> 

Les pauses analyseur quand j'ajouter la valeur de XSL tag <xsl:value-of select="MediaUrlFolder"/>.

Existe-t-il une solution pour cela? Salut puis-je ajouter ce type de code d'une manière sûre? Merci!

=====================================

Maintenant, il y a un étrange problème (qui était là avant sûr, mais je ne regardais pas le code source). Le bloc <script> n'est pas rendu du tout, rien à l'intérieur, pas même les balises <script></script>. Savez-vous pourquoi cela pourrait se produire? Merci.

+0

De quelle façon il "rupture", est-il erreur? Quelle est l'erreur? Génère-t-il le mauvais contenu? Quel contenu génère-t-il? – AnthonyWJones

Répondre

1

Vous semblez manquer un/entre MediaUrlFolder et ImageUrlFileName, bien que vos dossiers aient déjà un fichier /. Aussi, vous semblez avoir un & qui ne devrait pas être échappé, ce qui devrait être &amp;

Je préfère sans doute cette approche: -

<script> 
    // Loads the video. 
    var mediaUrlFolder = '<xsl:value-of select="MediaUrlFolder"/>' 
    var imageUrlFileName = '<xsl:value-of select="ImageUrlFileName"/>' 
    var imageUrlFolder = '<xsl:value-of select="ImageUrlFolder"/>' 
    var s1 = new SWFObject("player-viral.swf","ply","670","350","9","#ffffff"); 
    s1.addParam("allowfullscreen","true"); 
    s1.addParam("allownetworking","all"); 
    s1.addParam("allowscriptaccess","always"); 
    s1.addParam("flashvars","file=/Portals/0/" + mediaUrlFolder + "/" + imageUrlFileName + "&amp;image=/Portals/0/" + imageUrlFolder + "/" + imageUrlFileName); 
    s1.write("container"); 
</script> 
+0

Hey, merci, je vais essayer ça. En ce qui concerne votre première question, oui, la variable de dossier contient déjà la dernière barre oblique du dossier, donc l'URL devrait être OK. Thks. –

+0

Maintenant, il y a un problème étrange (c'était là avant, c'est sûr, mais je ne regardais pas le code source). Le bloc

1
<xsl:comment>//<![CDATA[ 
<script>  // Loads the video.  var s1 = new SWFObject("player-viral.swf","ply","670","350","9","#ffffff");  s1.addParam("allowfullscreen","true");  s1.addParam("allownetworking","all");  s1.addParam("allowscriptaccess","always");  s1.addParam("flashvars","file=/Portals/0/<xsl:value-of select="MediaUrlFolder"/><xsl:value-of select="ImageUrlFileName"/>&image=/Portals/0///]]><xsl:value-of select="ImageUrlFolder"/><xsl:value-of select="ImageUrlFileName"/><![CDATA[");  s1.write("container");</script> 
//]]></xsl:comment> 
+0

Hé, merci, il semble que ce soit une bonne idée. Dans mon cas, j'ai découvert le logiciel que j'utilisais javascripts bloqué à des fins de sécurité. –

Questions connexes