在velocity模板中访问jquery/javascript变量
我正在尝试获取velocity和一个脚本来传入并返回一个变量在velocity模板中访问jquery/javascript变量,javascript,jquery,velocity,confluence,Javascript,Jquery,Velocity,Confluence,我正在尝试获取velocity和一个脚本来传入并返回一个变量 #set ( $test = "" ) ... <script> var someVariable = ''; [some stuff happens and someVariable gets set] #set ( $test = someVariable ) </script> ... $test #set($test=”“) ... var someVariable='';
#set ( $test = "" )
...
<script>
var someVariable = '';
[some stuff happens and someVariable gets set]
#set ( $test = someVariable )
</script>
...
$test
#set($test=”“)
...
var someVariable='';
[发生了一些事情,设置了一些变量]
#set($test=someVariable)
...
$test
上面的“$test”将打印出someVariable设置为的内容
如何从脚本标记内部导出变量并将其返回给velocity模板进行处理
为了了解更多的上下文,我一直在尝试通过以下方式在confluence中创建一个下拉宏。我希望能够使用保存的下拉项,并使用该下拉项修改其他宏。Velocity是一种服务器端编译模板语言,而JavaScript是在客户端执行的。当您的JavasScript运行时,Velocity代码已经被编译、转换为HTML并发送到客户端,因此您无法直接执行您想要的操作 相反,您需要直接修改DOM。例如,使用jQuery:
...
<script>
var someVariable = '';
[some stuff happens and someVariable gets set]
jQuery(".myClass").text(someVariable);
</script>
...
<div class="myClass"> </div>
。。。
var someVariable='';
[发生了一些事情,设置了一些变量]
jQuery(“.myClass”).text(someVariable);
...
此外,您还需要确保JavaScript在(或使用特定于Atlassian的AJS.toInit()
)之前不会运行