/ / XSL тагове в блока на JavaScript - javascript, xslt, скриптове

XSL тагове в JavaScript блок - javascript, xslt, scripting

Имам нужда от моя XSL, за да добавя динамично съдържание към 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>

Анализаторът се счупва, когато добавя XSL стойността на тага <xsl:value-of select="MediaUrlFolder"/>.

Има ли решение за това? Здравейте, мога ли да добавя такъв вид код по безопасен начин? Благодаря!

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

Сега има странен проблем (това беше там преди със сигурност, но аз не гледах изходния код). <script> блок изобщо не се рендира, нищо вътре в него, дори и <script></script> тагове. Знаете ли защо това може да се случи? Благодаря.

Отговори:

1 за отговор № 1

Изглежда, че липсваш / между MediaUrlFolder и ImageUrlFileName, въпреки че може би папките ти вече имат задни /. Също така изглежда, че имате незабелязан и това трябва да бъде &amp;

Вероятно бих предпочел този подход: -

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

1 за отговор № 2
<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>