2009-03-14 21 views
3

動的コンテンツをjavascriptブロックに追加するには、私のXSLが必要です。私はこれが可能かどうか疑問に思います。ここに私がしたいことの例があります。次のコードは動作しません:javascriptブロック内のXSLタグ

<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>タグもありません。なぜこれが起こっているのか知っていますか?ありがとう。

+0

それを "休憩"、それはエラーんんどのようにして - :私はおそらくこのアプローチを好むだろう

?エラーとは何ですか? 間違ったコンテンツを生成しますか?それはどのようなコンテンツを生成しますか? – AnthonyWJones

答えて

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

ねえ、ありがとう、私はこれを試してみます。あなたの最初の質問については、はい、フォルダ変数はすでに最後のフォルダスラッシュを保持しているので、URLはOKです。 Thks。 –

+0

今、奇妙な問題があります(これは確かに前にありましたが、私はソースコードを見ていませんでした)。

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

ねえ、おかげさまで、2は良い考えです。私の場合は、セキュリティ上の目的でjavascriptをブロックしていたソフトウェアが見つかりました。 –

関連する問題