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 value-ofタグを追加すると、パーサーが壊れます <xsl:value-of select="MediaUrlFolder"/>
.
これに対する解決策はありますか?こんにちは、この種のコードを安全な方法で追加できますか?ありがとう!
=====================================
今、奇妙な問題があります(それは確かに以前にありましたが、私はソースコードを見ていませんでした)。 <script>
ブロックはまったくレンダリングされていません。ブロック内には何もレンダリングされていません。 <script></script>
タグ。なぜこれが起こるのか知っていますか?ありがとう。
回答:
回答№1は1MediaUrlFolderと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>
回答№2の場合は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>