Имам нужда от моя 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, въпреки че може би папките ти вече имат задни /. Също така изглежда, че имате незабелязан и това трябва да бъде &
;
Вероятно бих предпочел този подход: -
<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 + "&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>