XSL-теги внутри блока JavaScript - PullRequest
3 голосов
/ 14 марта 2009

Мне нужен мой 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>. Вы знаете, почему это может происходить? Спасибо.

Ответы [ 2 ]

1 голос
/ 29 июля 2009
<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>
1 голос
/ 15 марта 2009

Похоже, вам не хватает / между 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...