Play Framework 1:标记只包含一次javascript文件

时间:2013-04-10 13:57:05

标签: java playframework

Play Framework 1中,是否有一个标记在生成的页面中只包含一次javascript文件?

示例:

我想要以下代码:

#{press.script 'my.script.js'}
#{press.script 'my.script.js'}

仅将my.script.js声明注入结果页面一次,以便Play生成以下内容:

<script src="/path/to/my.script.js"></script>

请注意,press模块应为version >= 1.0.22

到目前为止,发现了所需的任何东西:

  • #{press.script 'my.script.js'}只需在使用相同的js文件指定两次时抛出异常
  • 1.0.11模块的press版本添加了ignoreDuplicates标记属性,根据文档,该属性应该执行所需的操作,但在下一版本中,神秘删除了 ...
  • 1.0.12模块的press版本增加了press.allowDuplicates添加到配置的可能性,但在下一个版本中,它又被神秘删除了 ......
  • #{press.single-script 'my.script.js'}只是压缩js文件并将<script>两次添加到生成的文件

请告知

1 个答案:

答案 0 :(得分:1)

我认为没有。我已经解决了类似的问题。

假设我有一个模板main.html。所有其他模板都扩展了这一个。 Main.html包括scripts.html。根据当前网址,Controller会呈现扩展form.html的{​​{1}}。在main.html我有一个需要form.html的小部件。为了确保它只包含在这个页面上(需要脚本),我设置了以下变量:

my.script.js

#{set useMyScript: true /} 中,我将检查此变量并仅在需要时呈现此脚本:

scripts.html

所以,这不是你的情况,但我很确定你可以使用这个解决方案多次将useMyScript设置为true,并且只包含一次Javascript。

我希望这有帮助!