是否可以在脚本位于标签之间的 XSLT 中处理 javascript 函数的参数<script type=text/javascript>....</script>.
如果可能的话,有人可以举个例子。谢谢。
问问题
4498 次
1 回答
2
我认为您对这两件事感到困惑:XSLT 是用来(在这种情况下)生成 HTML/javascript 的东西——一旦浏览器接收到生成的 HTML/javascript,就可以运行 javascript。我不知道 XSLT 将变量“传递”给 javascript 函数的任何此类概念。
我的猜测是你想要这样的 XSLT ......
<script type="text/javascript">
var myVar = "<xsl:value-of select="XPATHVALUE"/>";
<xsl:text disable-output-escaping="yes"><![CDATA[
function myFunc(){
alert(myVar);
}
]]></xsl:text>
</script>
如果您将 javascript 的主要“正文”放在 xsl:text 元素中,这意味着您不会使用保留字符(例如 < > 等)被抓到。
设置到浏览器的生成的 HTML/javascript 最终会像这样,这意味着调用 myFunc 将显示“hello world”...
<script type="text/javascript">
var myVar = "hello world";
function myFunc(){
alert(myVar);
}
</script>
更新
正如 MichaelKey 强调的那样,上面的 <xsl:text> 元素是不必要的。这应该产生同样的东西......
<script type="text/javascript">
var myVar = "<xsl:value-of select="XPATHVALUE"/>";
<![CDATA[
function myFunc(){
alert(myVar);
}
]]>
</script>
于 2012-04-27T09:03:50.593 回答