Templates AEM6(CQ)通过模板将变量传递到javascript中

Templates AEM6(CQ)通过模板将变量传递到javascript中,templates,aem,sightly,Templates,Aem,Sightly,我在AEM6中使用新的Sighly语言来使用模板呈现我的组件,在我的组件中有一个使用JWPlayer插件的视频,它需要以下代码来初始化视频: <div id='playerpwSIOjcRZrCa'></div> <script type='text/javascript'> jwplayer('playerpwSIOjcRZrCa').setup({ file: '//www.youtube.com/watch?v=123456',

我在AEM6中使用新的Sighly语言来使用模板呈现我的组件,在我的组件中有一个使用JWPlayer插件的视频,它需要以下代码来初始化视频:

<div id='playerpwSIOjcRZrCa'></div>
<script type='text/javascript'>
    jwplayer('playerpwSIOjcRZrCa').setup({
        file: '//www.youtube.com/watch?v=123456',
        title: 'Video title',
        width: '100%',
        aspectratio: '16:9'
    });
</script> 

jwplayer('playerpwSIOjcRZrCa')。设置({
文件:'//www.youtube.com/watch?v=123456',
标题:“视频标题”,
宽度:“100%”,
专题:“16:9”
});
但是我想让Youtube变量动态,这样用户就可以在作者中更改id,这样就可以在videoPath中传递以下模板(Youtube id):


视频Id:${videoPath}
jwplayer('playerpwSIOjcRZrCa')。设置({
文件:'//www.youtube.com/watch?v='${videoPath},
标题:“视频标题”,
宽度:“100%”,
专题:“16:9”
});
我遇到的问题是标记中的${videoPath}没有呈现模板顶部的id


有没有办法使用sightly模板解决这个问题?

sightly包含现成的XSS保护。它检测到您试图在
标记内插入
videoPath
变量,并要求指定上下文,以便可以转义特殊字符。在这种情况下,它应该是
scriptString
context:

<script type='text/javascript'>
    jwplayer('playerpwSIOjcRZrCa').setup({
        file: '//www.youtube.com/watch?v=${videoPath @ context="scriptString"}',
        title: 'Video title',
        width: '100%',
        aspectratio: '16:9'
    });
</script>

jwplayer('playerpwSIOjcRZrCa')。设置({
文件:'//www.youtube.com/watch?v=${videoPath@context=“scriptString”},
标题:“视频标题”,
宽度:“100%”,
专题:“16:9”
});

更多信息可以在.

Tomek中找到,我尝试了你的建议'//www.youtube.com/watch?v=${videoPath}',但仍然没有将videoId添加到字符串的末尾。你是对的,我在最初的回答中没有抓住要点。请检查更新版本。
<script type='text/javascript'>
    jwplayer('playerpwSIOjcRZrCa').setup({
        file: '//www.youtube.com/watch?v=${videoPath @ context="scriptString"}',
        title: 'Video title',
        width: '100%',
        aspectratio: '16:9'
    });
</script>