在XSLT传递参数的JavaScript脚本(Passing parameters to javas

2019-07-29 03:54发布

是否有可能处理的参数到一个JavaScript功能在XSLT所述脚本是标记之间<script type=text/javascript>....</script>. 如果可能的话可能有人给出一个例子。 谢谢。

Answer 1:

我想你感到困惑的两件事情之间: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中:文本元素,这意味着使用保留的字符(如<>等),你将不会被抓到了。

被设置为浏览器生成的HTML / JavaScript的最终会因为这样的事情,这意味着呼唤myFunc的将显示“Hello World”的...

<script type="text/javascript">
  var myVar = "hello world";
    function myFunc(){
      alert(myVar);
    }
</script>

更新

正如MichaelKey突出,所述的<xsl:文本>元件上方是不必要的。 这将产生同样的事情...

<script type="text/javascript">
  var myVar = "<xsl:value-of select="XPATHVALUE"/>";
  <![CDATA[
    function myFunc(){
      alert(myVar);
    }
  ]]>
</script>


文章来源: Passing parameters to javascript script in xslt